CR fixes
[arvados-workbench2.git] / src / views-components / process-input-dialog / process-input-dialog.tsx
index 96eab1cfc536f00887fb77c541144c7ea946e369..bbbd97f535f7cab080e670d4b970e0461bb01f23 100644 (file)
@@ -6,10 +6,11 @@ import * as React from "react";
 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}
@@ -17,7 +18,7 @@ export const ProcessInputDialog = withDialog(PROCESS_INPUT_DIALOG_NAME)(
             <CardHeader
                 title="Inputs - Pipeline template that generates a config file from a template" />
             <DialogContent>
-                cos
+                <RunProcessInputsForm inputs={getInputs(props.data.containerRequest)} />
             </DialogContent>
             <DialogActions>
                 <Button
@@ -28,4 +29,54 @@ export const ProcessInputDialog = withDialog(PROCESS_INPUT_DIALOG_NAME)(
                 </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