X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/59caadc58a0b7ffc92fa95c90b16c99a9af6d942..6a9ed65ed717080ce933718436038b5c4dec2a74:/src/views/process-panel/process-subprocesses-card.tsx

diff --git a/src/views/process-panel/process-subprocesses-card.tsx b/src/views/process-panel/process-subprocesses-card.tsx
index 340e3c65..7a1901f1 100644
--- a/src/views/process-panel/process-subprocesses-card.tsx
+++ b/src/views/process-panel/process-subprocesses-card.tsx
@@ -7,16 +7,14 @@ import {
     StyleRulesCallback, WithStyles, withStyles, Card,
     CardHeader, IconButton, CardContent, Typography, Tooltip
 } from '@material-ui/core';
-import * as classnames from "classnames";
 import { ArvadosTheme } from '~/common/custom-theme';
 import { MoreOptionsIcon } from '~/components/icon/icon';
 import { DetailsAttribute } from '~/components/details-attribute/details-attribute';
-import { getStatusColor } from '~/views/process-panel/process-panel-root';
 import { Process, getProcessStatus, getProcessRuntime } from '~/store/processes/process';
 import { formatTime } from '~/common/formatters';
+import { getProcessStatusColor } from '~/store/processes/process';
 
-export type CssRules = 'label' | 'value' | 'title' | 'content' | 'action' | 'options' | 'status' | 'rightSideHeader' | 'titleHeader'
-    | 'header' | 'headerActive' | 'headerCompleted' | 'headerQueued' | 'headerFailed' | 'headerCanceled';
+export type CssRules = 'label' | 'value' | 'title' | 'content' | 'action' | 'options' | 'status' | 'rightSideHeader' | 'titleHeader' | 'header' | 'moreOptions';
 
 const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
     label: {
@@ -58,31 +56,11 @@ const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
         paddingTop: 0,
         paddingBottom: 0,
     },
-    headerActive: {
-        backgroundColor: theme.customs.colors.blue500,
-    },
-    headerCompleted: {
-        backgroundColor: theme.customs.colors.green700,
-    },
-    headerQueued: {
-        backgroundColor: theme.customs.colors.grey500,
-    },
-    headerFailed: {
-        backgroundColor: theme.customs.colors.red900,
-    },
-    headerCanceled: {
-        backgroundColor: theme.customs.colors.red900,
-    },
+    moreOptions: {
+        position: 'absolute'
+    }
 });
 
-export enum SubprocessesStatus {
-    ACTIVE = 'Active',
-    COMPLETED = 'Completed',
-    QUEUED = 'Queued',
-    FAILED = 'Failed',
-    CANCELED = 'Canceled'
-}
-
 export interface SubprocessItemProps {
     title: string;
     status: string;
@@ -94,25 +72,28 @@ export interface ProcessSubprocessesCardDataProps {
     subprocess: Process;
 }
 
-type ProcessSubprocessesCardProps = ProcessSubprocessesCardDataProps & WithStyles<CssRules>;
+type ProcessSubprocessesCardProps = ProcessSubprocessesCardDataProps & WithStyles<CssRules, true>;
 
-export const ProcessSubprocessesCard = withStyles(styles)(
-    ({ classes, onContextMenu, subprocess }: ProcessSubprocessesCardProps) => {
+export const ProcessSubprocessesCard = withStyles(styles, { withTheme: true })(
+    ({ classes, onContextMenu, subprocess, theme }: ProcessSubprocessesCardProps) => {
         return <Card>
             <CardHeader
-                className={classnames([classes.header, getStatusColor(getProcessStatus(subprocess), classes)])}
+                className={classes.header}
+                style={{ backgroundColor: getProcessStatusColor(getProcessStatus(subprocess), theme as ArvadosTheme) }}
                 classes={{ content: classes.title, action: classes.action }}
                 action={
                     <div className={classes.rightSideHeader}>
                         <Typography noWrap variant="body2" className={classes.status}>
                             {getProcessStatus(subprocess)}
                         </Typography>
-                        <IconButton
-                            className={classes.options}
-                            aria-label="More options"
-                            onClick={onContextMenu}>
-                            <MoreOptionsIcon />
-                        </IconButton>
+                        <Tooltip title="More options" disableFocusListener>
+                            <IconButton
+                                className={classes.options}
+                                aria-label="More options"
+                                onClick={onContextMenu}>
+                                <MoreOptionsIcon className={classes.moreOptions}/>
+                            </IconButton>
+                        </Tooltip>
                     </div>
                 }
                 title={
@@ -127,4 +108,4 @@ export const ProcessSubprocessesCard = withStyles(styles)(
                     label="Runtime" value={formatTime(getProcessRuntime(subprocess))} />
             </CardContent>
         </Card>;
-    });
\ No newline at end of file
+    });
