Add new code new version
[sdc.git] / openecomp-ui / src / sdc-app / onboarding / licenseModel / licenseAgreement / LicenseAgreementListEditor.js
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 import {connect} from 'react-redux';
22 import LicenseModelActionHelper from 'sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js';
23 import LicenseAgreementActionHelper from './LicenseAgreementActionHelper.js';
24 import LicenseAgreementListEditorView from './LicenseAgreementListEditorView.jsx';
25 import VersionControllerUtils from 'nfvo-components/panel/versionController/VersionControllerUtils.js';
26 import OnboardingActionHelper from 'sdc-app/onboarding/OnboardingActionHelper.js';
27
28 const mapStateToProps = ({licenseModel: {licenseAgreement, licenseModelEditor}}) => {
29         let {licenseAgreementList} = licenseAgreement;
30         let {data} = licenseAgreement.licenseAgreementEditor;
31         let {vendorName} = licenseModelEditor.data;
32
33         let isReadOnlyMode = VersionControllerUtils.isReadOnly(licenseModelEditor.data);
34
35         return {
36                 vendorName,
37                 licenseAgreementList,
38                 isReadOnlyMode,
39                 isDisplayModal: Boolean(data),
40                 isModalInEditMode: Boolean(data && data.id)
41         };
42 };
43
44 const mapActionsToProps = (dispatch, {licenseModelId}) => {
45         return {
46                 onAddLicenseAgreementClick: () => LicenseAgreementActionHelper.openLicenseAgreementEditor(dispatch, {licenseModelId}),
47                 onEditLicenseAgreementClick: licenseAgreement => LicenseAgreementActionHelper.openLicenseAgreementEditor(dispatch, {licenseModelId, licenseAgreement}),
48                 onDeleteLicenseAgreement: licenseAgreement => LicenseAgreementActionHelper.openDeleteLicenseAgreementConfirm(dispatch, {licenseAgreement}),
49                 onCallVCAction: action => {
50                         LicenseModelActionHelper.performVCAction(dispatch, {licenseModelId, action}).then(() => {
51                                 LicenseAgreementActionHelper.fetchLicenseAgreementList(dispatch, {licenseModelId});
52                         });
53                 },
54                 switchLicenseModelVersion: version => LicenseAgreementActionHelper.switchVersion(dispatch, {licenseModelId, version}),
55                 onClose: () => OnboardingActionHelper.navigateToOnboardingCatalog(dispatch)
56         };
57 };
58
59 export default connect(mapStateToProps, mapActionsToProps)(LicenseAgreementListEditorView);