aad06c82f09cf734199575e21c92afcaeb5a0eae
[sdc.git] / openecomp-ui / src / sdc-app / onboarding / softwareProduct / components / network / SoftwareProductComponentsNICEditorView.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 Form from 'nfvo-components/input/validation/Form.jsx';
18 import Acceptable from './nicEditorComponents/Acceptable.jsx';
19 import FlowLength from './nicEditorComponents/FlowLength.jsx';
20 import OutFlowTraffic from './nicEditorComponents/OutFlowTraffic.jsx';
21 import InFlowTraffic from './nicEditorComponents/InFlowTraffic.jsx';
22 import Sizing from './nicEditorComponents/Sizing.jsx';
23 import Network from './nicEditorComponents/Network.jsx';
24 import IpConfig from './nicEditorComponents/IpConfig.jsx';
25 import Protocols from './nicEditorComponents/Protocols.jsx';
26 import NameAndPurpose from './nicEditorComponents/NameAndPurpose.jsx';
27
28 class SoftwareProductComponentsNetworkEditorView extends React.Component {
29
30         render() {
31                 let {onCancel, onValidateForm, isReadOnlyMode, isFormValid, formReady, data = {}, qgenericFieldInfo, dataMap, onDataChanged, protocols, onQDataChanged} = this.props;
32                 let {name, description, networkName} = data;
33                 let netWorkValues = [{
34                         enum: networkName,
35                         title: networkName
36                 }];
37                 return (
38                         <div>
39                 {qgenericFieldInfo && <Form
40                         ref={(form) => { this.form = form; }}
41                         hasButtons={true}
42                         onSubmit={ () => this.submit() }
43                         onReset={ () => onCancel() }
44                         labledButtons={true}
45                         isReadOnlyMode={isReadOnlyMode}
46                         isValid={isFormValid}
47                         formReady={formReady}
48                         onValidateForm={() => onValidateForm() }
49                         className='vsp-components-network-editor'>
50                                 <div className='editor-data'>
51                                         <NameAndPurpose name={name} description={description} onDataChanged={onDataChanged} isReadOnlyMode={isReadOnlyMode}/>
52                                         <Protocols protocols={protocols} qgenericFieldInfo={qgenericFieldInfo} dataMap={dataMap} onQDataChanged={onQDataChanged} />
53                                         <IpConfig dataMap={dataMap} onQDataChanged={onQDataChanged} />
54                                         <Network networkValues={netWorkValues} />
55                                         <Sizing qgenericFieldInfo={qgenericFieldInfo} dataMap={dataMap} onQDataChanged={onQDataChanged} />
56                                         <InFlowTraffic qgenericFieldInfo={qgenericFieldInfo} dataMap={dataMap} onQDataChanged={onQDataChanged} />
57                                         <OutFlowTraffic qgenericFieldInfo={qgenericFieldInfo} dataMap={dataMap} onQDataChanged={onQDataChanged} />
58                                         <FlowLength qgenericFieldInfo={qgenericFieldInfo} dataMap={dataMap} onQDataChanged={onQDataChanged} />
59                                         <Acceptable qgenericFieldInfo={qgenericFieldInfo} dataMap={dataMap} onQDataChanged={onQDataChanged} />
60                                 </div>
61                         </Form> }
62                         </div>
63                 );
64         }
65
66         submit() {
67                 let {data, qdata, onSubmit, version} = this.props;
68                 onSubmit({data, qdata, version});
69         }
70 }
71
72 export default SoftwareProductComponentsNetworkEditorView;