[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-ui / src / sdc-app / onboarding / licenseModel / overview / listItems / LicenseAgreement.jsx
1 /*!
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  */
16 import React, {Component} from 'react';
17 import i18n from 'nfvo-utils/i18n/i18n.js';
18 import InputOptions, {other as optionInputOther} from 'nfvo-components/input/inputOptions/InputOptions.jsx';
19 import {optionsInputValues} from '../../licenseAgreement/LicenseAgreementConstants.js';
20 import ArrowCol from './listItemsComponents/ArrowCol.jsx';
21 import ItemInfo from './listItemsComponents/ItemInfo.jsx';
22 import IconCol from './listItemsComponents/IconCol.jsx';
23 import {AdditionalDataCol, AdditionalDataElement} from './listItemsComponents/AdditionalDataCol.jsx';
24
25 class LicenseAgreement extends Component {
26         render() {
27                 let {laData: {name, description, licenseTerm, children = []}, isCollapsed, onClick} = this.props;
28                 return (
29                         <div onClick={e => onClick(e)} className='vlm-list-item vlm-list-item-la' data-test-id='vlm-list-la-item'>
30                                 <ArrowCol isCollapsed={isCollapsed} length={children.length} />
31                                 <IconCol className='la-icon'/>
32                                 <ItemInfo name={name} description={description}>
33                                         <div className='children-count'>
34                                                 <span className='count-value'>Feature Groups: <span data-test-id='vlm-list-fg-count-value'>{`${children.length}`}</span></span>
35                                         </div>
36                                 </ItemInfo>
37                                 <AdditionalDataCol>
38                                         <AdditionalDataElement
39                                                 name={i18n('License Model Type')}
40                                                 value={this.extractValue(licenseTerm)}/>
41                                 </AdditionalDataCol>
42                         </div>
43                 );
44         }
45
46         extractValue(item) {
47                 if (item === undefined) {return '';} //TODO fix it later
48
49                 return  item ? item.choice === optionInputOther.OTHER ? item.other : InputOptions.getTitleByName(optionsInputValues, item.choice) : '';
50         }
51 }
52
53 export default LicenseAgreement;