// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; import { Grid } from '@material-ui/core'; 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-components/process-subprocesses/process-subprocesses'; import { SubprocessesStatus } from '~/views/process-panel/process-subprocesses'; type CssRules = 'headerActive' | 'headerCompleted' | 'headerQueued' | 'headerFailed' | 'headerCanceled'; export interface ProcessPanelRootDataProps { process?: Process; } export interface ProcessPanelRootActionProps { onContextMenu: (event: React.MouseEvent) => void; } export type ProcessPanelRootProps = ProcessPanelRootDataProps & ProcessPanelRootActionProps; export const ProcessPanelRoot = (props: ProcessPanelRootProps) => props.process ? { return; }} /> : ; export const getBackgroundColorStatus = (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; } };