blob: 1eb6eebff82bc41733155d0c1af2636ea764ba7f [file] [log] [blame]
Avi Ziv61070c92017-07-26 17:37:57 +03001/*!
2 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 * or implied. See the License for the specific language governing
14 * permissions and limitations under the License.
15 */
16import {connect} from 'react-redux';
17import i18n from 'nfvo-utils/i18n/i18n.js';
18import ValidationHelper from 'sdc-app/common/helpers/ValidationHelper.js';
19import Limits from 'sdc-app/onboarding/licenseModel/limits/Limits.jsx';
20import {actionTypes as globalModalActionTypes} from 'nfvo-components/modal/GlobalModalConstants.js';
21import EntitlementPoolsActionHelper from './EntitlementPoolsActionHelper.js';
22
23const mapStateToProps = ({licenseModel: {entitlementPool: {entitlementPoolEditor: {data}}, limitEditor}, currentScreen}) => {
24 let {props: {licenseModelId, version}} = currentScreen;
25 return {
26 parent: data,
27 limitEditor,
28 licenseModelId,
29 version
30 };
31};
32
33const mapActionsToProps = (dispatch) => {
34 return {
35 onDataChanged: (deltaData, formName, customValidations) => ValidationHelper.dataChanged(dispatch, {deltaData, formName, customValidations}),
36 onSubmit: (limit, entitlementPool, licenseModelId, version) => EntitlementPoolsActionHelper.submitLimit(dispatch,
37 {
38 limit,
39 entitlementPool,
40 licenseModelId,
41 version}),
42 onDelete: ({limit, parent, licenseModelId, version, onCloseLimitEditor, selectedLimit}) => dispatch({
43 type: globalModalActionTypes.GLOBAL_MODAL_WARNING,
44 data:{
45 msg: i18n(`Are you sure you want to delete ${limit.name}?`),
46 confirmationButtonText: i18n('Delete'),
miriame4a5e1d02017-10-26 12:01:01 +030047 title: i18n('Delete'),
Avi Ziv61070c92017-07-26 17:37:57 +030048 onConfirmed: ()=> EntitlementPoolsActionHelper.deleteLimit(dispatch, {limit, entitlementPool: parent, licenseModelId, version}).then(() =>
49 selectedLimit === limit.id && onCloseLimitEditor()
50 )
51 }
52 })
53 };
54};
55
56export default connect(mapStateToProps, mapActionsToProps)(Limits);