// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 import { Dispatch } from 'redux'; import { connect } from 'react-redux'; import { RootState } from 'store/store'; import { RunProcessPanelRootDataProps, RunProcessPanelRootActionProps, RunProcessPanelRoot } from 'views/run-process-panel/run-process-panel-root'; import { goToStep, runProcess, searchWorkflows, openSetWorkflowDialog } from 'store/run-process-panel/run-process-panel-actions'; import { WorkflowResource } from 'models/workflow'; const mapStateToProps = ({ runProcessPanel }: RootState): RunProcessPanelRootDataProps => { return { workflows: runProcessPanel.searchWorkflows, currentStep: runProcessPanel.currentStep, selectedWorkflow: runProcessPanel.selectedWorkflow }; }; const mapDispatchToProps = (dispatch: Dispatch): RunProcessPanelRootActionProps => ({ onSetStep: (step: number) => { dispatch(goToStep(step)); }, onSetWorkflow: (workflow: WorkflowResource) => { dispatch(openSetWorkflowDialog(workflow)); }, runProcess: () => { dispatch(runProcess); }, onSearch: (term: string) => { dispatch(searchWorkflows(term)); } }); export const RunProcessPanel = connect(mapStateToProps, mapDispatchToProps)(RunProcessPanelRoot);