X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/4ad6191d53207a8b2d4c0c8a30b18119daaa5fbc..c55409793ebc677e5ca5210cb546e2b5420cb3c8:/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..0ebe96ef3a 100644 --- a/services/workbench2/src/views-components/data-explorer/renderers.tsx +++ b/services/workbench2/src/views-components/data-explorer/renderers.tsx @@ -512,7 +512,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 +523,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 +916,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);