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