13494: Avoids unnecessary details panel re-renders.
[arvados.git] / src / views-components / keep-services-dialog / remove-dialog.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4 import { Dispatch, compose } from 'redux';
5 import { connect } from "react-redux";
6 import { ConfirmationDialog } from "~/components/confirmation-dialog/confirmation-dialog";
7 import { withDialog, WithDialogProps } from "~/store/dialog/with-dialog";
8 import { KEEP_SERVICE_REMOVE_DIALOG, removeKeepService } from '~/store/keep-services/keep-services-actions';
9
10 const mapDispatchToProps = (dispatch: Dispatch, props: WithDialogProps<any>) => ({
11     onConfirm: () => {
12         props.closeDialog();
13         dispatch<any>(removeKeepService(props.data.uuid));
14     }
15 });
16
17 export const RemoveKeepServiceDialog = compose(
18     withDialog(KEEP_SERVICE_REMOVE_DIALOG),
19     connect(null, mapDispatchToProps)
20 )(ConfirmationDialog);