- return <TableRow key={param.id}>
- <TableCell component="th" scope="row">
- {param.id}
- </TableCell>
- <TableCell>{param.doc}</TableCell>
- <TableCell>{param.value.map(val => (
- <Typography className={classes.paramValue}>
- {val.imageUrl ? <img className={classes.imagePreview} src={val.imageUrl} alt="Inline Preview" /> : ""}
- <span className={classes.valArray}>
- {val.display}
- </span>
- </Typography>
- ))}</TableCell>
- </TableRow>;
+ const firstVal = param.value.length > 0 ? param.value[0] : undefined;
+ const rest = param.value.slice(1);
+ const rowClass = rest.length > 0 ? classes.halfRow : undefined;
+
+ return <>
+ <TableRow className={rowClass} data-cy="process-io-param">
+ <TableCell>
+ {param.id}
+ </TableCell>
+ {showLabel && <TableCell >{param.label}</TableCell>}
+ <TableCell>
+ {firstVal && <ProcessValuePreview value={firstVal} showImagePreview={showImagePreview} />}
+ </TableCell>
+ <TableCell className={firstVal?.imageUrl ? classes.rowWithPreview : undefined}>
+ <Typography className={classes.paramValue}>
+ {firstVal?.collection}
+ </Typography>
+ </TableCell>
+ </TableRow>
+ {rest.map((val, i) => (
+ <TableRow className={(i < rest.length-1) ? rowClass : undefined}>
+ <TableCell />
+ {showLabel && <TableCell />}
+ <TableCell>
+ <ProcessValuePreview value={val} showImagePreview={showImagePreview} />
+ </TableCell>
+ <TableCell className={firstVal?.imageUrl ? classes.rowWithPreview : undefined}>
+ <Typography className={classes.paramValue}>
+ {val.collection}
+ </Typography>
+ </TableCell>
+ </TableRow>
+ ))}
+ </>;