X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/32dcbe112366f6ce4037e87527aac5ea7865bee0..f912f003853b42c745041796220e28536629a548:/src/views/workflow-panel/workflow-description-card.tsx diff --git a/src/views/workflow-panel/workflow-description-card.tsx b/src/views/workflow-panel/workflow-description-card.tsx index ecbc9f0c..df1b2811 100644 --- a/src/views/workflow-panel/workflow-description-card.tsx +++ b/src/views/workflow-panel/workflow-description-card.tsx @@ -2,35 +2,58 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; -import { StyleRulesCallback, WithStyles, withStyles, CardContent, Tab, Tabs, Typography, List, ListItem, Table, TableHead, TableCell, TableBody, TableRow } from '@material-ui/core'; -import { ArvadosTheme } from '~/common/custom-theme'; -import { WorkflowIcon } from '~/components/icon/icon'; -import { DataTableDefaultView } from '~/components/data-table-default-view/data-table-default-view'; -import { WorkflowResource, parseWorkflowDefinition, getWorkflowInputs, getInputLabel, stringifyInputType } from '~/models/workflow'; +import React from 'react'; +import { + StyleRulesCallback, + WithStyles, + withStyles, + CardContent, + Tab, + Tabs, + Table, + TableHead, + TableCell, + TableBody, + TableRow, +} from '@material-ui/core'; +import { ArvadosTheme } from 'common/custom-theme'; +import { WorkflowIcon } from 'components/icon/icon'; +import { DataTableDefaultView } from 'components/data-table-default-view/data-table-default-view'; +import { parseWorkflowDefinition, getWorkflowInputs, getInputLabel, stringifyInputType } from 'models/workflow'; +import { WorkflowDetailsCardDataProps, WorkflowDetailsAttributes } from 'views-components/details-panel/workflow-details'; -export type CssRules = 'root' | 'tab' | 'inputTab'; +export type CssRules = 'root' | 'tab' | 'inputTab' | 'graphTab' | 'graphTabWithChosenWorkflow' | 'descriptionTab' | 'inputsTable'; const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ root: { height: '100%' }, tab: { - minWidth: '50%' + minWidth: '33%' }, inputTab: { - overflowX: 'auto', - overflowY: 'hidden', - '&:last-child': { - paddingBottom: theme.spacing.unit / 2, - } - } + overflow: 'auto', + maxHeight: '300px', + marginTop: theme.spacing.unit + }, + graphTab: { + marginTop: theme.spacing.unit, + }, + graphTabWithChosenWorkflow: { + overflow: 'auto', + height: '450px', + marginTop: theme.spacing.unit, + }, + descriptionTab: { + overflow: 'auto', + maxHeight: '300px', + marginTop: theme.spacing.unit, + }, + inputsTable: { + tableLayout: 'fixed', + }, }); -interface WorkflowDetailsCardDataProps { - workflow?: WorkflowResource; -} - type WorkflowDetailsCardProps = WorkflowDetailsCardDataProps & WithStyles; export const WorkflowDetailsCard = withStyles(styles)( @@ -50,15 +73,16 @@ export const WorkflowDetailsCard = withStyles(styles)( + - {value === 0 && - {workflow ? ( - workflow.description - ) : ( - - )} + {value === 0 && + {workflow ?
+ {workflow.description} +
: ( + + )}
} {value === 1 && {workflow @@ -68,6 +92,14 @@ export const WorkflowDetailsCard = withStyles(styles)( messages={['Please select a workflow to see its inputs.']} /> } } + {value === 2 && + {workflow + ? + : + } + } ; } @@ -78,11 +110,11 @@ export const WorkflowDetailsCard = withStyles(styles)( return getWorkflowInputs(definition); } } - return; + return undefined; } renderInputsTable() { - return + return
Label @@ -100,4 +132,4 @@ export const WorkflowDetailsCard = withStyles(styles)(
; } - }); \ No newline at end of file + });