0994c28a3134b2e0979f409eb35ad96757bd1882
[arvados.git] / src / views-components / process-remove-dialog / process-remove-dialog.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { Dispatch, compose } from 'redux';
6 import { connect } from "react-redux";
7 import { ConfirmationDialog } from "~/components/confirmation-dialog/confirmation-dialog";
8 import { withDialog, WithDialogProps } from "~/store/dialog/with-dialog";
9 import { removeProcessPermanently, REMOVE_PROCESS_DIALOG } from '~/store/processes/processes-actions';
10
11 const mapStateToProps = (props: WithDialogProps<string>) => ({
12     ...props,
13 });
14
15 const mapDispatchToProps = (dispatch: Dispatch, props: WithDialogProps<any>) => ({
16     onConfirm: () => {
17         props.closeDialog();
18         dispatch<any>(removeProcessPermanently(props.data.uuid));
19     }
20 });
21
22 export const RemoveProcessDialog = compose(
23     withDialog(REMOVE_PROCESS_DIALOG),
24     connect(mapStateToProps, mapDispatchToProps)
25 )(ConfirmationDialog);