[SDC] Onboarding 1710 rebase.
[sdc.git] / openecomp-ui / src / sdc-app / onboarding / softwareProduct / components / network / nicEditorComponents / Network.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 from 'react';
17 import i18n from 'nfvo-utils/i18n/i18n.js';
18 import Input from 'nfvo-components/input/validation/Input.jsx';
19 import GridSection from 'nfvo-components/grid/GridSection.jsx';
20 import GridItem from 'nfvo-components/grid/GridItem.jsx';
21 import { networkTypes } from '../SoftwareProductComponentsNetworkConstants.js';
22
23 const Network = ({networkValues, networkType, networkDescription, onDataChanged, isReadOnlyMode}) => {
24         const isExternal = networkType === networkTypes.EXTERNAL;
25         return (
26                 <GridSection title={i18n('Network')}>
27                                 <GridItem>
28                                         <Input
29                                                 label={i18n('Internal')}
30                                                 disabled
31                                                 checked={!isExternal}
32                                                 data-test-id='nic-internal'
33                                                 className='network-radio disabled'
34                                                 type='radio'/>
35                                 </GridItem>
36                                 <GridItem>
37                                         <Input
38                                                 label={i18n('External')}
39                                                 disabled
40                                                 checked={isExternal}
41                                                 data-test-id='nic-external'
42                                                 className='network-radio disabled'
43                                                 type='radio'/>
44                                 </GridItem>
45                                 <GridItem colSpan={2}>
46                                 {isExternal ?
47                                         <Input
48                                                 label={i18n('Network Description')}
49                                                 value={networkDescription}
50                                                 data-test-id='nic-network-description'
51                                                 onChange={networkDescription => onDataChanged({networkDescription})}
52                                                 disabled={isReadOnlyMode}
53                                                 type='text'/>
54                                                 :
55                                         <Input
56                                                 label={i18n('Network')}
57                                                 data-test-id='nic-network'
58                                                 type='select'
59                                                 className='input-options-select'
60                                                 groupClassName='bootstrap-input-options'
61                                                 disabled={true} >
62                                                         {networkValues.map(val => <option key={val.enum} value={val.enum}>{val.title}</option>)}
63                                         </Input>}
64                                 </GridItem>
65                 </GridSection>
66         );
67 };
68
69 Network.PropTypes = {
70         networkValues: React.PropTypes.array
71 };
72
73 export default  Network;