X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/fe815aabd15db10f2f9437db82104c4272bcb38e..852b19504c30cbc71cdf2fc55cee3a29d42bd4be:/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 60e17b6017..a98356403b 100644 --- a/src/views/workflow-panel/workflow-description-card.tsx +++ b/src/views/workflow-panel/workflow-description-card.tsx @@ -3,11 +3,11 @@ // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; -import { StyleRulesCallback, WithStyles, withStyles, CardContent, Tab, Tabs, Paper } from '@material-ui/core'; +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 } from '~/models/workflow'; +import { WorkflowResource, parseWorkflowDefinition, getWorkflowInputs, getInputLabel, stringifyInputType } from '~/models/workflow'; export type CssRules = 'root' | 'tab'; @@ -37,22 +37,60 @@ export const WorkflowDetailsCard = withStyles(styles)( } render() { - const { classes } = this.props; + const { classes, workflow } = this.props; const { value } = this.state; - return + return
{value === 0 && - Description - + {workflow ? ( + workflow.description + ) : ( + + )} } {value === 1 && - Inputs + {workflow + ? this.renderInputsTable() + : + } } - ; +
; + } + + get inputs() { + if (this.props.workflow) { + const definition = parseWorkflowDefinition(this.props.workflow); + if (definition) { + return getWorkflowInputs(definition); + } + } + return; + } + + renderInputsTable() { + return + + + Label + Type + Description + + + + {this.inputs && this.inputs.map(input => + + {getInputLabel(input)} + {stringifyInputType(input)} + {input.doc} + )} + +
; } }); \ No newline at end of file