import { formatTime } from '~/common/formatters';
import { getProcessStatusColor } from '~/store/processes/process';
-export type CssRules = 'label' | 'value' | 'title' | 'content' | 'action' | 'options' | 'status' | 'rightSideHeader' | 'titleHeader'| 'header';
+export type CssRules = 'label' | 'value' | 'title' | 'content' | 'action' | 'options' | 'status' | 'rightSideHeader' | 'titleHeader' | 'header' | 'moreOptions';
const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
label: {
paddingTop: 0,
paddingBottom: 0,
},
+ moreOptions: {
+ position: 'absolute'
+ }
});
-export enum SubprocessesStatus {
- ACTIVE = 'Active',
- COMPLETED = 'Completed',
- QUEUED = 'Queued',
- FAILED = 'Failed',
- CANCELED = 'Canceled'
-}
-
export interface SubprocessItemProps {
title: string;
status: string;
subprocess: Process;
}
-type ProcessSubprocessesCardProps = ProcessSubprocessesCardDataProps & WithStyles<CssRules>;
+type ProcessSubprocessesCardProps = ProcessSubprocessesCardDataProps & WithStyles<CssRules, true>;
export const ProcessSubprocessesCard = withStyles(styles, { withTheme: true })(
({ classes, onContextMenu, subprocess, theme }: ProcessSubprocessesCardProps) => {
<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={
label="Runtime" value={formatTime(getProcessRuntime(subprocess))} />
</CardContent>
</Card>;
- });
\ No newline at end of file
+ });