Chip,
} from '@material-ui/core';
import { ArvadosTheme } from 'common/custom-theme';
-import { CloseIcon, InfoIcon, ProcessIcon } from 'components/icon/icon';
+import { CloseIcon, InfoIcon, ProcessIcon, InputIcon, OutputIcon } from 'components/icon/icon';
import { MPVPanelProps } from 'components/multi-panel-view/multi-panel-view';
import {
BooleanCommandInputParameter,
import { InputCollectionMount } from 'store/processes/processes-actions';
import { connect } from 'react-redux';
import { RootState } from 'store/store';
+import { ProcessOutputCollectionFiles } from './process-output-collection-files';
type CssRules = 'card' | 'content' | 'title' | 'header' | 'avatar' | 'iconHeader' | 'tableWrapper' | 'tableRoot' | 'paramValue' | 'keepLink' | 'imagePreview' | 'valArray' | 'emptyValue';
},
paramValue: {
display: 'flex',
- alignItems: 'center',
+ alignItems: 'flex-start',
+ flexDirection: 'column',
},
keepLink: {
color: theme.palette.primary.main,
},
imagePreview: {
maxHeight: '15em',
- marginRight: theme.spacing.unit,
+ maxWidth: '15em',
+ marginBottom: theme.spacing.unit,
},
valArray: {
display: 'flex',
params: ProcessIOParameter[];
raw?: any;
mounts?: InputCollectionMount[];
+ outputUuid?: string;
}
type ProcessIOCardProps = ProcessIOCardDataProps & WithStyles<CssRules> & MPVPanelProps;
export const ProcessIOCard = withStyles(styles)(
- ({ classes, label, params, raw, mounts, doHidePanel, panelName }: ProcessIOCardProps) => {
+ ({ classes, label, params, raw, mounts, outputUuid, doHidePanel, panelName }: ProcessIOCardProps) => {
const [tabState, setTabState] = useState(0);
const handleChange = (event: React.MouseEvent<HTMLElement>, value: number) => {
setTabState(value);
}
+ const PanelIcon = label == ProcessIOCardType.INPUT ? InputIcon : OutputIcon;
return <Card className={classes.card} data-cy="process-io-card">
<CardHeader
content: classes.title,
avatar: classes.avatar,
}}
- avatar={<ProcessIcon className={classes.iconHeader} />}
+ avatar={<PanelIcon className={classes.iconHeader} />}
title={
<Typography noWrap variant='h6' color='inherit'>
{label}
<Tab label="Preview" />
<Tab label="Raw" />
{label === ProcessIOCardType.INPUT && <Tab label="Input Mounts" />}
+ {label === ProcessIOCardType.OUTPUT && <Tab label="Output Collection" />}
</Tabs>
{tabState === 0 && <div className={classes.tableWrapper}>
{params.length ?
</div>}
{tabState === 2 && <div className={classes.tableWrapper}>
{label === ProcessIOCardType.INPUT && <ProcessInputMounts mounts={mounts || []} />}
+ {label === ProcessIOCardType.OUTPUT && <ProcessOutputCollectionFiles isWritable={false} currentItemUuid={outputUuid} />}
</div>}
</div>
</CardContent>