X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/6234908246415d038d74f9f0b69ab8ea886f9296..f41a161af85e740c85ecc6a805644ff712cd4620:/src/store/run-process-panel/run-process-panel-reducer.ts diff --git a/src/store/run-process-panel/run-process-panel-reducer.ts b/src/store/run-process-panel/run-process-panel-reducer.ts index 560e91cd..12c8988b 100644 --- a/src/store/run-process-panel/run-process-panel-reducer.ts +++ b/src/store/run-process-panel/run-process-panel-reducer.ts @@ -8,15 +8,19 @@ import { WorkflowResource, CommandInputParameter, getWorkflowInputs, parseWorkfl interface RunProcessPanel { processOwnerUuid: string; currentStep: number; + isStepChanged: boolean; workflows: WorkflowResource[]; searchWorkflows: WorkflowResource[]; selectedWorkflow: WorkflowResource | undefined; + presets?: WorkflowResource[]; + selectedPreset?: WorkflowResource; inputs: CommandInputParameter[]; } const initialState: RunProcessPanel = { processOwnerUuid: '', currentStep: 0, + isStepChanged: false, workflows: [], selectedWorkflow: undefined, inputs: [], @@ -27,11 +31,22 @@ export const runProcessPanelReducer = (state = initialState, action: RunProcessP runProcessPanelActions.match(action, { SET_PROCESS_OWNER_UUID: processOwnerUuid => ({ ...state, processOwnerUuid }), SET_CURRENT_STEP: currentStep => ({ ...state, currentStep }), + SET_STEP_CHANGED: isStepChanged => ({ ...state, isStepChanged }), SET_SELECTED_WORKFLOW: selectedWorkflow => ({ ...state, selectedWorkflow, + presets: undefined, + selectedPreset: selectedWorkflow, inputs: getWorkflowInputs(parseWorkflowDefinition(selectedWorkflow)) || [], }), + SET_WORKFLOW_PRESETS: presets => ({ + ...state, + presets, + }), + SELECT_WORKFLOW_PRESET: selectedPreset => ({ + ...state, + selectedPreset, + }), SET_WORKFLOWS: workflows => ({ ...state, workflows, searchWorkflows: workflows }), SEARCH_WORKFLOWS: term => { const termRegex = new RegExp(term, 'i');