import { Dialog, DialogActions, Button, CardHeader, DialogContent } from '@material-ui/core';
import { WithDialogProps } from '~/store/dialog/with-dialog';
import { withDialog } from "~/store/dialog/with-dialog";
-import { PROCESS_INPUT_DIALOG_NAME, ProcessInputDialogData } from '~/store/processes/process-input-actions';
+import { PROCESS_INPUT_DIALOG_NAME } from '~/store/processes/process-input-actions';
+import { RunProcessInputsForm } from "~/views/run-process-panel/run-process-inputs-form";
export const ProcessInputDialog = withDialog(PROCESS_INPUT_DIALOG_NAME)(
- (props: WithDialogProps<ProcessInputDialogData>) =>
+ (props: WithDialogProps<any>) =>
<Dialog
open={props.open}
maxWidth={false}
<CardHeader
title="Inputs - Pipeline template that generates a config file from a template" />
<DialogContent>
- cos
+ <RunProcessInputsForm inputs={getInputs(props.data.containerRequest)} />
</DialogContent>
<DialogActions>
<Button
</Button>
</DialogActions>
</Dialog>
-);
\ No newline at end of file
+);
+
+const getInputs = (data: any) =>
+ data && data.mounts.varLibCwlWorkflowJson ? data.mounts.varLibCwlWorkflowJson.content.graph[1].inputs.map((it: any) => (
+ { type: it.type, id: it.id, label: it.label, value: getInputValue(it.id, data.mounts.varLibCwlCwlInputJson.content), disabled: true }
+ )) : [];
+
+const getInputValue = (id: string, data: any) => {
+ switch (id) {
+ case "#main/example_flag":
+ return data.exampleFlag;
+ case "#main/example_directory":
+ return data.exampleDirectory;
+ case "#main/example_double":
+ return data.exampleDouble;
+ case "#main/example_file":
+ return data.exampleFile;
+ case "#main/example_float":
+ return data.exampleFloat;
+ case "#main/example_int":
+ return data.exampleInt;
+ case "#main/example_long":
+ return data.exampleLong;
+ case "#main/example_null":
+ return data.exampleNull;
+ case "#main/example_string":
+ return data.exampleString;
+ case "#main/enum_type":
+ return data.enumType;
+ case "#main/multiple_collections":
+ return data.multipleCollections;
+ case "#main/example_string_array":
+ return data.exampleStringArray;
+ case "#main/example_int_array":
+ return data.exampleIntArray;
+ case "#main/example_float_array":
+ return data.exampleFloatArray;
+ case "#main/multiple_files":
+ return data.multipleFiles;
+ case "#main/collection":
+ return data.collection;
+ case "#main/optional_file_missing_label":
+ return data.optionalFileMissingLabel;
+ case "#main/optional_file":
+ return data.optionalFile;
+ case "#main/single_file":
+ return data.singleFile;
+ default:
+ return data.exampleString;
+ }
+};
\ No newline at end of file