import { navigateToRunProcess } from '~/store/navigation/navigation-action';
import { goToStep, runProcessPanelActions } from '~/store/run-process-panel/run-process-panel-actions';
import { getResource } from '~/store/resources/resources';
-import { getInputValue } from "~/views-components/process-input-dialog/process-input-dialog";
import { initialize } from "redux-form";
import { RUN_PROCESS_BASIC_FORM, RunProcessBasicFormData } from "~/views/run-process-panel/run-process-basic-form";
import { RunProcessAdvancedFormData, RUN_PROCESS_ADVANCED_FORM } from "~/views/run-process-panel/run-process-advanced-form";
+import { MOUNT_PATH_CWL_WORKFLOW, MOUNT_PATH_CWL_INPUT } from '~/models/process';
+import { getWorkflow, getWorkflowInputs } from "~/models/workflow";
export const loadProcess = (containerRequestUuid: string) =>
async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository): Promise<Process> => {
}
};
+const MAX_AMOUNT_OF_SUBPROCESSES = 10000;
+
export const loadContainerRequests = (filters: string) =>
async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
- const { items } = await services.containerRequestService.list({ filters });
+ const { items } = await services.containerRequestService.list({ filters, limit: MAX_AMOUNT_OF_SUBPROCESSES });
dispatch<any>(updateResources(items));
return items;
};
const workflows = getState().runProcessPanel.searchWorkflows;
const workflow = workflows.find(workflow => workflow.uuid === workflowUuid);
if (workflow && process) {
- const newValues = getInputs(process);
- process.mounts.varLibCwlWorkflowJson.content.graph[1].inputs = newValues;
- const stringifiedDefinition = JSON.stringify(process.mounts.varLibCwlWorkflowJson.content);
+ const mainWf = getWorkflow(process.mounts[MOUNT_PATH_CWL_WORKFLOW]);
+ if (mainWf) { mainWf.inputs = getInputs(process); }
+ const stringifiedDefinition = JSON.stringify(process.mounts[MOUNT_PATH_CWL_WORKFLOW].content);
const newWorkflow = { ...workflow, definition: stringifiedDefinition };
const basicInitialData: RunProcessBasicFormData = { name: `Copy of: ${process.name}`, description: process.description };
const advancedInitialData: RunProcessAdvancedFormData = {
output: process.outputName,
- runtime: process.schedulingParameters.maxRunTime,
+ runtime: process.schedulingParameters.max_run_time,
ram: process.runtimeConstraints.ram,
vcpus: process.runtimeConstraints.vcpus,
- keepCacheRam: process.runtimeConstraints.keepCacheRam,
+ keep_cache_ram: process.runtimeConstraints.keep_cache_ram,
api: process.runtimeConstraints.API
};
dispatch<any>(initialize(RUN_PROCESS_ADVANCED_FORM, advancedInitialData));
}
};
-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, default: getInputValue(it.id, data.mounts.varLibCwlCwlInputJson.content), doc: it.doc }
- )) : [];
+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,
+ default: data.mounts[MOUNT_PATH_CWL_INPUT].content[it.id],
+ doc: it.doc
+ }
+ )
+ ) : [];
+};
export const openRemoveProcessDialog = (uuid: string) =>
(dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {