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<any>) =>
</Dialog>
);
-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
+ }
+ )
+ ) : [];
+};