1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import * as React from 'react';
6 import { ArvadosTheme } from '~/common/custom-theme';
7 import { StyleRulesCallback, withStyles, WithStyles, Card, CardHeader, CardContent, Grid, Switch } from '@material-ui/core';
8 import { DetailsAttribute } from '~/components/details-attribute/details-attribute';
10 type CssRules = 'root' | 'label' | 'value' | 'switch';
12 const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
17 paddingRight: theme.spacing.unit * 2,
28 type SubprocessesProps = WithStyles<CssRules>;
30 export const SubprocessesCard = withStyles(styles)(
31 class extends React.Component<SubprocessesProps> {
40 handleChange = (name: string) => (event: any) => {
41 this.setState({ [name]: event.target.checked });
45 const { classes } = this.props;
47 <Card className={classes.root}>
48 <CardHeader title="Subprocesses and filters" />
50 <Grid container direction="row">
52 <DetailsAttribute classLabel={classes.label} classValue={classes.value}
53 label='Subprocesses:' value="6" />
56 <Grid container direction="row">
58 <DetailsAttribute classLabel={classes.label} classValue={classes.value}
59 label='Queued:' value='2'>
60 <Switch classes={{ bar: classes.switch }}
61 checked={this.state.queued}
62 onChange={this.handleChange('queued')}
66 <DetailsAttribute classLabel={classes.label} classValue={classes.value}
67 label='Active:' value='1'>
68 <Switch classes={{ bar: classes.switch }}
69 checked={this.state.active}
70 onChange={this.handleChange('active')}
76 <DetailsAttribute classLabel={classes.label} classValue={classes.value}
77 label='Completed:' value='2'>
78 <Switch classes={{ bar: classes.switch }}
79 checked={this.state.completed}
80 onChange={this.handleChange('completed')}
84 <DetailsAttribute classLabel={classes.label} classValue={classes.value}
85 label='Failed:' value='1'>
86 <Switch classes={{ bar: classes.switch }}
87 checked={this.state.failed}
88 onChange={this.handleChange('failed')}