Add new code new version
[sdc.git] / openecomp-ui / src / sdc-app / onboarding / softwareProduct / processes / SoftwareProductProcessesConfirmationModal.jsx
1 import React from 'react';
2 import {connect} from 'react-redux';
3 import i18n from 'nfvo-utils/i18n/i18n.js';
4 import ConfirmationModalView from 'nfvo-components/confirmations/ConfirmationModalView.jsx';
5 import SoftwareProductProcessesActionHelper from './SoftwareProductProcessesActionHelper.js';
6
7 function renderMsg(processToDelete) {
8         let name = processToDelete ? processToDelete.name : '';
9         let msg = i18n('Are you sure you want to delete "{name}"?', {name});
10         return (
11                 <div>
12                         <p>{msg}</p>
13                 </div>
14         );
15 };
16
17 const mapStateToProps = ({softwareProduct}) => {
18         let {softwareProductEditor, softwareProductProcesses} = softwareProduct;
19         let {processToDelete} = softwareProductProcesses;
20         let softwareProductId = softwareProductEditor.data.id;
21
22         const show = processToDelete !== false;
23         return {
24                 show,
25                 title: i18n('Warning!'),
26                 type: 'warning',
27                 msg: renderMsg(processToDelete),
28                 confirmationDetails: {processToDelete, softwareProductId}
29         };
30 };
31
32 const mapActionsToProps = (dispatch) => {
33         return {
34                 onConfirmed: ({processToDelete, softwareProductId}) => {
35                         SoftwareProductProcessesActionHelper.deleteProcess(dispatch, {process: processToDelete, softwareProductId});
36                         SoftwareProductProcessesActionHelper.hideDeleteConfirm(dispatch);
37                 },
38                 onDeclined: () => {
39                         SoftwareProductProcessesActionHelper.hideDeleteConfirm(dispatch);
40                 }
41         };
42 };
43
44 export default connect(mapStateToProps, mapActionsToProps)(ConfirmationModalView);
45