// 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, getProcessStatus } from '~/store/processes/process'; import { SubprocessesCard } from './subprocesses-card'; import { SubprocessFilterDataProps } from '~/components/subprocess-filter/subprocess-filter'; import { groupBy } from 'lodash'; import { ProcessSubprocesses } from '~/views/process-panel/process-subprocesses'; export interface ProcessPanelRootDataProps { process?: Process; subprocesses: Array; } export interface ProcessPanelRootActionProps { onContextMenu: (event: React.MouseEvent) => void; } export type ProcessPanelRootProps = ProcessPanelRootDataProps & ProcessPanelRootActionProps; export const ProcessPanelRoot = (props: ProcessPanelRootProps) => props.process ? {console.log(props.subprocesses)} { return; }} /> : ; const groupSubprocessesByStatus = (processes: Process[]) => groupBy(processes, getProcessStatus); const mapGroupedProcessesToFilters = (groupedProcesses: { [status: string]: Process[] }): SubprocessFilterDataProps[] => Object .keys(groupedProcesses) .map(status => ({ label: status, key: status, value: groupedProcesses[status].length }));