X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ee9d1e39b5d469a827be5a719c9c0860914ab2a8..46605be9b9f2721cc9848323f904fb0ace5a2dbd:/services/workbench2/src/components/breadcrumbs/breadcrumbs.tsx diff --git a/services/workbench2/src/components/breadcrumbs/breadcrumbs.tsx b/services/workbench2/src/components/breadcrumbs/breadcrumbs.tsx index baf84d1da2..0eed36f910 100644 --- a/services/workbench2/src/components/breadcrumbs/breadcrumbs.tsx +++ b/services/workbench2/src/components/breadcrumbs/breadcrumbs.tsx @@ -9,10 +9,11 @@ import { withStyles } from '@material-ui/core'; import { IllegalNamingWarning } from '../warning/warning'; import { IconType, FreezeIcon } from 'components/icon/icon'; import grey from '@material-ui/core/colors/grey'; -import { ResourcesState } from 'store/resources/resources'; +import { getResource, ResourcesState } from 'store/resources/resources'; import classNames from 'classnames'; import { ArvadosTheme } from 'common/custom-theme'; - +import { GroupClass } from "models/group"; +import { navigateTo, navigateToGroupDetails } from 'store/navigation/navigation-action'; export interface Breadcrumb { label: string; icon?: IconType; @@ -59,7 +60,7 @@ const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ export interface BreadcrumbsProps { items: Breadcrumb[]; resources: ResourcesState; - onClick: (breadcrumb: Breadcrumb) => void; + onClick: (navFunc: (uuid: string) => void, breadcrumb: Breadcrumb) => void; onContextMenu: (event: React.MouseEvent, breadcrumb: Breadcrumb) => void; } @@ -71,10 +72,13 @@ export const Breadcrumbs = withStyles(styles)( const isLastItem = index === items.length - 1; const isFirstItem = index === 0; const Icon = item.icon || (() => (null)); + const resource = getResource(item.uuid)(resources) as any; + const navFunc = resource && 'groupClass' in resource && resource.groupClass === GroupClass.ROLE ? navigateToGroupDetails : navigateTo; + return ( {isFirstItem ? null : } - +