X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9ccc7e8ebe82b97e219d65adeea8b03b2c9ed71a..59caadc58a0b7ffc92fa95c90b16c99a9af6d942:/src/views/process-panel/process-panel-root.tsx diff --git a/src/views/process-panel/process-panel-root.tsx b/src/views/process-panel/process-panel-root.tsx index c7ac938a93..f6d17395cd 100644 --- a/src/views/process-panel/process-panel-root.tsx +++ b/src/views/process-panel/process-panel-root.tsx @@ -8,9 +8,15 @@ import { ProcessInformationCard } from './process-information-card'; import { DefaultView } from '~/components/default-view/default-view'; import { ProcessIcon } from '~/components/icon/icon'; import { Process } from '~/store/processes/process'; +import { SubprocessesCard } from './subprocesses-card'; +import { ProcessSubprocesses } from '~/views/process-panel/process-subprocesses'; +import { SubprocessesStatus } from '~/views/process-panel/process-subprocesses-card'; + +type CssRules = 'headerActive' | 'headerCompleted' | 'headerQueued' | 'headerFailed' | 'headerCanceled'; export interface ProcessPanelRootDataProps { process?: Process; + subprocesses: Array; } export interface ProcessPanelRootActionProps { @@ -21,17 +27,71 @@ export type ProcessPanelRootProps = ProcessPanelRootDataProps & ProcessPanelRoot export const ProcessPanelRoot = (props: ProcessPanelRootProps) => props.process - ? + ? + + { return; }} + /> + + + + : + justify='center' + style={{ minHeight: '100%' }}> ; + +export const getStatusColor = (status: string, classes: Record) => { + switch (status) { + case SubprocessesStatus.COMPLETED: + return classes.headerCompleted; + case SubprocessesStatus.CANCELED: + return classes.headerCanceled; + case SubprocessesStatus.QUEUED: + return classes.headerQueued; + case SubprocessesStatus.FAILED: + return classes.headerFailed; + case SubprocessesStatus.ACTIVE: + return classes.headerActive; + default: + return classes.headerQueued; + } +};