Add new code new version
[sdc.git] / openecomp-ui / src / sdc-app / onboarding / OnboardingCatalog.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 {default as OnboardingCatalogView, catalogItemTypes} from './OnboardingCatalogView.jsx';
23 import OnboardingActionHelper from './OnboardingActionHelper.js';
24 import LicenseModelCreationActionHelper from './licenseModel/creation/LicenseModelCreationActionHelper.js';
25 import SoftwareProductCreationActionHelper from './softwareProduct/creation/SoftwareProductCreationActionHelper.js';
26
27
28 const mapStateToProps = ({licenseModelList, softwareProductList, softwareProduct: {softwareProductCreation}, licenseModel: {licenseModelCreation}}) => {
29
30         let modalToShow;
31
32         if(licenseModelCreation.data) {
33                 modalToShow = catalogItemTypes.LICENSE_MODEL;
34         } else if(softwareProductCreation.showModal && softwareProductCreation.data) {
35                 modalToShow = catalogItemTypes.SOFTWARE_PRODUCT;
36         }
37
38         return {
39                 licenseModelList,
40                 softwareProductList,
41                 modalToShow
42         };
43 };
44
45 const mapActionsToProps = (dispatch) => {
46         return {
47                 onSelectLicenseModel({id: licenseModelId}) {
48                         OnboardingActionHelper.navigateToLicenseAgreements(dispatch, {licenseModelId});
49                 },
50                 onSelectSoftwareProduct(softwareProduct) {
51                         let {id: softwareProductId, vendorId: licenseModelId, licensingVersion} = softwareProduct;
52                         OnboardingActionHelper.navigateToSoftwareProductLandingPage(dispatch, {softwareProductId, licenseModelId, licensingVersion});
53                 },
54                 onAddSoftwareProductClick: () => SoftwareProductCreationActionHelper.open(dispatch),
55                 onAddLicenseModelClick: () => LicenseModelCreationActionHelper.open(dispatch)
56         };
57 };
58
59 export default connect(mapStateToProps, mapActionsToProps)(OnboardingCatalogView);