1 import React from 'react';
2 import {connect} from 'react-redux';
3 import ConfirmationModalView from 'nfvo-components/confirmations/ConfirmationModalView.jsx';
4 import EntitlementPoolsActionHelper from './EntitlementPoolsActionHelper.js';
5 import i18n from 'nfvo-utils/i18n/i18n.js';
7 function renderMsg(entitlementPoolToDelete) {
8 let poolName = entitlementPoolToDelete ? entitlementPoolToDelete.name : '';
9 let msg = i18n('Are you sure you want to delete "{poolName}"?', {poolName});
10 let subMsg = entitlementPoolToDelete
11 && entitlementPoolToDelete.referencingFeatureGroups
12 && entitlementPoolToDelete.referencingFeatureGroups.length > 0 ?
13 i18n('This entitlement pool is associated with one or more feature groups') :
23 const mapStateToProps = ({licenseModel: {entitlementPool}}, {licenseModelId}) => {
24 let {entitlementPoolToDelete} = entitlementPool;
25 const show = entitlementPoolToDelete !== false;
30 msg: renderMsg(entitlementPoolToDelete),
31 confirmationDetails: {entitlementPoolToDelete, licenseModelId}
35 const mapActionsToProps = (dispatch) => {
37 onConfirmed: ({entitlementPoolToDelete, licenseModelId}) => {
38 EntitlementPoolsActionHelper.deleteEntitlementPool(dispatch, {
40 entitlementPoolId: entitlementPoolToDelete.id
42 EntitlementPoolsActionHelper.hideDeleteConfirm(dispatch);
45 EntitlementPoolsActionHelper.hideDeleteConfirm(dispatch);
50 export default connect(mapStateToProps, mapActionsToProps)(ConfirmationModalView);