init first step for run a process
[arvados-workbench2.git] / src / store / run-process-panel / run-process-panel-actions.ts
index 299f387ecb11fc87c1e6178887019eff42575825..de18e70f53044afb231a97d16c4ea58ed26b1e29 100644 (file)
@@ -6,16 +6,36 @@ import { Dispatch } from 'redux';
 import { unionize, ofType, UnionOf } from "~/common/unionize";
 import { ServiceRepository } from "~/services/services";
 import { RootState } from '~/store/store';
+import { WorkflowResource } from '~/models/workflow';
 
 export const runProcessPanelActions = unionize({
-    SET_CURRENT_STEP: ofType<number>()
+    SET_CURRENT_STEP: ofType<number>(),
+    SET_WORKFLOWS: ofType<WorkflowResource[]>(),
+    SET_SELECTED_WORKFLOW: ofType<WorkflowResource>(),
 });
 
+export interface RunProcessSecondStepDataFormProps {
+    name: string;
+    description: string;
+}
+
+export const RUN_PROCESS_SECOND_STEP_FORM_NAME = 'runProcessSecondStepFormName';
+
 export type RunProcessPanelAction = UnionOf<typeof runProcessPanelActions>;
 
 export const loadRunProcessPanel = () =>
-    (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
-        
+    async (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
+        try {
+            const response = await services.workflowService.list();
+            dispatch(runProcessPanelActions.SET_WORKFLOWS(response.items));
+        } catch (e) {
+            return;
+        }
+    };
+
+export const setWorkflow = (workflow: WorkflowResource) => 
+    async (dispatch: Dispatch<any>, getState: () => RootState, services: ServiceRepository) => {
+        dispatch(runProcessPanelActions.SET_SELECTED_WORKFLOW(workflow));
     };
 
 export const goToStep = (step: number) => runProcessPanelActions.SET_CURRENT_STEP(step);
\ No newline at end of file