1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import * as React from 'react';
7 StyleRulesCallback, WithStyles, withStyles, Card,
8 CardHeader, IconButton, CardContent, Grid, Typography, Tooltip
9 } from '@material-ui/core';
10 import { Process } from '~/store/processes/process';
11 import { ProcessLogForm, ProcessLogFormDataProps, ProcessLogFormActionProps } from '~/views/process-log-panel/process-log-form';
12 import { MoreOptionsIcon, ProcessIcon } from '~/components/icon/icon';
13 import { ArvadosTheme } from '~/common/custom-theme';
15 type CssRules = 'root' | 'card' | 'iconHeader';
17 const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
26 color: theme.customs.colors.green700
31 interface ProcessLogMainCardDataProps {
35 export type ProcessLogMainCardProps = ProcessLogMainCardDataProps & ProcessLogFormDataProps & ProcessLogFormActionProps;
37 export const ProcessLogMainCard = withStyles(styles)(
38 ({ classes, process, selectedFilter, filters, onChange }: ProcessLogMainCardProps & WithStyles<CssRules>) =>
39 <Card className={classes.card}>
41 avatar={<ProcessIcon className={classes.iconHeader} />}
44 <IconButton aria-label="More options">
50 <Tooltip title={process.containerRequest.name}>
51 <Typography noWrap variant="title">
52 {process.containerRequest.name}
56 subheader={process.containerRequest.description} />
58 <Grid container spacing={24} alignItems='center'>
60 <ProcessLogForm selectedFilter={selectedFilter} filters={filters} onChange={onChange} />
63 Container log for request ardev-xvhdp-q3uqbfxeb6w64pm