X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/59a7af19f6889e79b1b9a4348e9253f3fa0f50c3..02fe86a56f080ed1d5770ad6c6856a15f50ab508:/src/views-components/process-input-dialog/process-input-dialog.tsx diff --git a/src/views-components/process-input-dialog/process-input-dialog.tsx b/src/views-components/process-input-dialog/process-input-dialog.tsx index 1650c902..a2d59407 100644 --- a/src/views-components/process-input-dialog/process-input-dialog.tsx +++ b/src/views-components/process-input-dialog/process-input-dialog.tsx @@ -8,6 +8,8 @@ import { WithDialogProps } from '~/store/dialog/with-dialog'; import { withDialog } from "~/store/dialog/with-dialog"; import { PROCESS_INPUT_DIALOG_NAME } from '~/store/processes/process-input-actions'; import { RunProcessInputsForm } from "~/views/run-process-panel/run-process-inputs-form"; +import { MOUNT_PATH_CWL_WORKFLOW, MOUNT_PATH_CWL_INPUT } from "~/models/process"; +import { getWorkflowInputs } from "~/models/workflow"; export const ProcessInputDialog = withDialog(PROCESS_INPUT_DIALOG_NAME)( (props: WithDialogProps) => @@ -31,16 +33,18 @@ export const ProcessInputDialog = withDialog(PROCESS_INPUT_DIALOG_NAME)( ); -const getInputs = (data: any) => - data && data.mounts["/var/lib/cwl/workflow.json"] ? data.mounts["/var/lib/cwl/workflow.json"].content.$graph.find( - (a: any) => a.id === '#main').inputs.map( - (it: any) => ( - { - type: it.type, - id: it.id, - label: it.label, - value: data.mounts["/var/lib/cwl/cwl.input.json"].content[it.id], - disabled: true - } - ) - ) : []; +const getInputs = (data: any) => { + if (!data || !data.mounts || !data.mounts[MOUNT_PATH_CWL_WORKFLOW]) { return []; } + const inputs = getWorkflowInputs(data.mounts[MOUNT_PATH_CWL_WORKFLOW].content); + return inputs ? inputs.map( + (it: any) => ( + { + type: it.type, + id: it.id, + label: it.label, + value: data.mounts[MOUNT_PATH_CWL_INPUT].content[it.id], + disabled: true + } + ) + ) : []; +};