21700: Install Bundler system-wide in Rails postinst
[arvados.git] / services / workbench2 / src / views-components / advanced-tab-dialog / metadataTab.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import React from "react";
6 import { Table, TableHead, TableCell, TableRow, TableBody, StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core';
7
8 type CssRules = 'cell';
9
10 const styles: StyleRulesCallback<CssRules> = theme => ({
11     cell: {
12         paddingRight: theme.spacing.unit * 2
13     }
14 });
15
16 interface MetadataTable {
17     uuid: string;
18     linkClass: string;
19     name: string;
20     tailUuid: string;
21     headUuid: string;
22     properties: any;
23 }
24
25 interface MetadataProps {
26     items: MetadataTable[];
27     uuid: string;
28 }
29
30 export const MetadataTab = withStyles(styles)((props: MetadataProps & WithStyles<CssRules>) =>
31     <Table>
32         <TableHead>
33             <TableRow>
34                 <TableCell>uuid</TableCell>
35                 <TableCell>link_class</TableCell>
36                 <TableCell>name</TableCell>
37                 <TableCell>tail</TableCell>
38                 <TableCell>head</TableCell>
39                 <TableCell>properties</TableCell>
40             </TableRow>
41         </TableHead>
42         <TableBody>
43             {props.items.map((it, index) =>
44                 <TableRow key={index}>
45                     <TableCell className={props.classes.cell}>{it.uuid}</TableCell>
46                     <TableCell className={props.classes.cell}>{it.linkClass}</TableCell>
47                     <TableCell className={props.classes.cell}>{it.name}</TableCell>
48                     <TableCell className={props.classes.cell}>{it.tailUuid}</TableCell>
49                     <TableCell className={props.classes.cell}>{it.headUuid === props.uuid ? 'this' : it.headUuid}</TableCell>
50                     <TableCell className={props.classes.cell}>{JSON.stringify(it.properties)}</TableCell>
51                 </TableRow>
52             )}
53         </TableBody>
54     </Table>
55 );