Feature #14431
Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk@contractors.roche.com>
const { resources } = getState();
const kind = extractUuidKind(uuid);
const data = getResource<any>(uuid)(resources);
const { resources } = getState();
const kind = extractUuidKind(uuid);
const data = getResource<any>(uuid)(resources);
- const user = await services.userService.list({
- filters: new FilterBuilder()
- .addEqual('uuid', data.ownerUuid)
- .getFilters()
- });
+ const user = await services.userService.get(data.ownerUuid);
const metadata = await services.linkService.list({
filters: new FilterBuilder()
.addEqual('headUuid', uuid)
const metadata = await services.linkService.list({
filters: new FilterBuilder()
.addEqual('headUuid', uuid)
const advancedTabData = (uuid: string, metadata: any, user: any, apiResponseKind: any, data: any, resourceKind: CollectionData | ProcessData | ProjectData, resourcePrefix: GroupContentsResourcePrefix, resourceKindProperty: CollectionData | ProcessData | ProjectData, property: any) => {
return {
uuid,
const advancedTabData = (uuid: string, metadata: any, user: any, apiResponseKind: any, data: any, resourceKind: CollectionData | ProcessData | ProjectData, resourcePrefix: GroupContentsResourcePrefix, resourceKindProperty: CollectionData | ProcessData | ProjectData, property: any) => {
return {
uuid,
- metadata: { ...metadata, user },
apiResponse: apiResponseKind(data),
pythonHeader: pythonHeader(resourceKind),
pythonExample: pythonExample(uuid, resourcePrefix),
apiResponse: apiResponseKind(data),
pythonHeader: pythonHeader(resourceKind),
pythonExample: pythonExample(uuid, resourcePrefix),
cliUpdateExample,
curlHeader,
curlExample,
cliUpdateExample,
curlHeader,
curlExample,
} = this.props.data;
return <Dialog
open={open}
} = this.props.data;
return <Dialog
open={open}
</Tabs>
<DialogContent className={classes.content}>
{value === 0 && <div>{dialogContentExample(apiResponse, classes)}</div>}
</Tabs>
<DialogContent className={classes.content}>
{value === 0 && <div>{dialogContentExample(apiResponse, classes)}</div>}
- {value === 1 && <div>{metadata.items.length > 0 ? <MetadataTab items={metadata.items} uuid={uuid} user={metadata.user.items}/>: dialogContentHeader('(No metadata links found)')}</div>}
+ {value === 1 && <div>{metadata.items.length > 0 ? <MetadataTab items={metadata.items} uuid={uuid} user={user} /> : dialogContentHeader('(No metadata links found)')}</div>}
{value === 2 && dialogContent(pythonHeader, pythonExample, classes)}
{value === 3 && <div>
{dialogContent(cliGetHeader, cliGetExample, classes)}
{value === 2 && dialogContent(pythonHeader, pythonExample, classes)}
{value === 3 && <div>
{dialogContent(cliGetHeader, cliGetExample, classes)}
interface MetadataProps {
items: MetadataTable[];
interface MetadataProps {
items: MetadataTable[];
<TableCell className={props.classes.cell}>{it.uuid}</TableCell>
<TableCell className={props.classes.cell}>{it.linkClass}</TableCell>
<TableCell className={props.classes.cell}>{it.name}</TableCell>
<TableCell className={props.classes.cell}>{it.uuid}</TableCell>
<TableCell className={props.classes.cell}>{it.linkClass}</TableCell>
<TableCell className={props.classes.cell}>{it.name}</TableCell>
- <TableCell className={props.classes.cell}>{props.user.length > 0 ? `User: ${props.user[0].firstName} ${props.user[0].lastName}` : it.tailUuid}</TableCell>
+ <TableCell className={props.classes.cell}>{props.user ? `User: ${props.user.firstName} ${props.user.lastName}` : it.tailUuid}</TableCell>
<TableCell className={props.classes.cell}>{it.headUuid === props.uuid ? 'this' : it.headUuid}</TableCell>
<TableCell className={props.classes.cell}>{JSON.stringify(it.properties)}</TableCell>
</TableRow>
<TableCell className={props.classes.cell}>{it.headUuid === props.uuid ? 'this' : it.headUuid}</TableCell>
<TableCell className={props.classes.cell}>{JSON.stringify(it.properties)}</TableCell>
</TableRow>