X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/28b6afc1e8ccf652c7a8fd43e22a8ac788febd85..362fec1a8b8c33498a4daf5b0fd204285f537c29:/services/workbench2/src/views-components/data-explorer/renderers.tsx diff --git a/services/workbench2/src/views-components/data-explorer/renderers.tsx b/services/workbench2/src/views-components/data-explorer/renderers.tsx index 257eacfb29..56926b513d 100644 --- a/services/workbench2/src/views-components/data-explorer/renderers.tsx +++ b/services/workbench2/src/views-components/data-explorer/renderers.tsx @@ -68,7 +68,10 @@ const renderName = (dispatch: Dispatch, item: GroupContentsResource) => { dispatch(navFunc(item.uuid))} + onClick={(ev) => { + ev.stopPropagation() + dispatch(navFunc(item.uuid)) + }} > {item.kind === ResourceKind.PROJECT || item.kind === ResourceKind.COLLECTION ? : null} {item.name} @@ -512,7 +515,7 @@ const getResourceDisplayName = (resource: Resource): string => { } }; -const renderResourceLink = (dispatch: Dispatch, item: Resource) => { +const renderResourceLink = (dispatch: Dispatch, item: Resource ) => { var displayName = getResourceDisplayName(item); return ( @@ -523,7 +526,9 @@ const renderResourceLink = (dispatch: Dispatch, item: Resource) => { onClick={() => { item.kind === ResourceKind.GROUP && (item as GroupResource).groupClass === "role" ? dispatch(navigateToGroupDetails(item.uuid)) - : dispatch(navigateTo(item.uuid)); + : item.kind === ResourceKind.USER + ? dispatch(navigateToUserProfile(item.uuid)) + : dispatch(navigateTo(item.uuid)); }} > {resourceLabel(item.kind, item && item.kind === ResourceKind.GROUP ? (item as GroupResource).groupClass || "" : "")}:{" "} @@ -914,6 +919,30 @@ const _resourceWithName = withStyles( ); }); +const _resourceWithNameLink = withStyles( + {}, + { withTheme: true } +)((props: { uuid: string; userFullname: string; dispatch: Dispatch; theme: ArvadosTheme }) => { + const { uuid, userFullname, dispatch, theme } = props; + if (!userFullname) { + dispatch(loadResource(uuid, false)); + } + + return ( + dispatch(navigateTo(uuid))} + > + {userFullname ? userFullname : uuid} + + ) +}); + + +export const ResourceOwnerWithNameLink = ownerFromResourceId(_resourceWithNameLink); + export const ResourceOwnerWithName = ownerFromResourceId(_resourceWithName); export const ResourceWithName = userFromID(_resourceWithName);