merge master
[arvados-workbench2.git] / src / views / process-panel / process-subprocesses.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import * as React from 'react';
6 import { Grid } from '@material-ui/core';
7 import { ProcessSubprocessesCard } from '~/views/process-panel/process-subprocesses-card';
8
9 export enum SubprocessesStatus {
10     ACTIVE = 'Active',
11     COMPLETED = 'Completed',
12     QUEUED = 'Queued',
13     FAILED = 'Failed',
14     CANCELED = 'Canceled'
15 }
16
17 export interface ProcessSubprocessesDataProps {
18     onContextMenu: (event: React.MouseEvent<HTMLElement>) => void;
19 }
20
21 interface SubprocessesProps {
22     title: string;
23     status: string;
24     runtime?: string;
25 }
26
27 export const ProcessSubprocesses = ({ onContextMenu }: ProcessSubprocessesDataProps) => {
28     return <Grid container spacing={16}>
29         {items.map(it =>
30             <Grid item xs={2} key={it.title}>
31                 <ProcessSubprocessesCard onContextMenu={onContextMenu} items={it} />
32             </Grid>
33         )}
34     </Grid>;
35 };
36
37 const items: Array<SubprocessesProps> = [
38     {
39         title: 'cos1',
40         status: SubprocessesStatus.ACTIVE
41     },
42     {
43         title: 'cos2',
44         status: SubprocessesStatus.FAILED
45     },
46     {
47         title: 'cos3',
48         status: SubprocessesStatus.QUEUED
49     },
50     {
51         title: 'cos4',
52         status: SubprocessesStatus.CANCELED
53     },
54     {
55         title: 'cos5',
56         status: SubprocessesStatus.COMPLETED
57     },
58     {
59         title: 'cos6',
60         status: SubprocessesStatus.COMPLETED
61     },
62     {
63         title: 'cos7',
64         status: SubprocessesStatus.COMPLETED
65     },
66 ];
67