react 16 upgrade
[sdc.git] / openecomp-ui / src / sdc-app / onboarding / softwareProduct / components / network / nicEditorComponents / Network.jsx
1 /*
2  * Copyright © 2016-2018 European Support Limited
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 or implied.
13  * See the License for the specific language governing permissions and
14  * 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 = ({
25     networkValues,
26     networkType,
27     networkDescription,
28     onDataChanged,
29     isReadOnlyMode
30 }) => {
31     const isExternal = networkType === networkTypes.EXTERNAL;
32     return (
33         <GridSection title={i18n('Network')} hasLastColSet>
34             <GridItem>
35                 <Input
36                     label={i18n('Internal')}
37                     disabled
38                     checked={!isExternal}
39                     data-test-id="nic-internal"
40                     className="network-radio disabled"
41                     type="radio"
42                 />
43             </GridItem>
44             <GridItem>
45                 <Input
46                     label={i18n('External')}
47                     disabled
48                     checked={isExternal}
49                     data-test-id="nic-external"
50                     className="network-radio disabled"
51                     type="radio"
52                 />
53             </GridItem>
54             <GridItem colSpan={2} lastColInRow>
55                 {isExternal ? (
56                     <Input
57                         label={i18n('Network Description')}
58                         value={networkDescription}
59                         data-test-id="nic-network-description"
60                         onChange={networkDescription =>
61                             onDataChanged({ networkDescription })
62                         }
63                         disabled={isReadOnlyMode}
64                         type="text"
65                     />
66                 ) : (
67                     <Input
68                         label={i18n('Network')}
69                         data-test-id="nic-network"
70                         type="select"
71                         className="input-options-select"
72                         groupClassName="bootstrap-input-options"
73                         disabled={true}>
74                         {networkValues.map(val => (
75                             <option key={val.enum} value={val.enum}>
76                                 {val.title}
77                             </option>
78                         ))}
79                     </Input>
80                 )}
81             </GridItem>
82         </GridSection>
83     );
84 };
85
86 Network.propTypes = {
87     networkValues: PropTypes.array
88 };
89
90 export default Network;