[SDC-29] Amdocs OnBoard 1707 initial commit.
[sdc.git] / openecomp-ui / src / sdc-app / flows / FlowsEditorModalView.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 Input from 'nfvo-components/input/validation/Input.jsx';
19 import Form from 'nfvo-components/input/validation/Form.jsx';
20
21 class FlowsEditorModalView extends Component {
22
23         render() {
24                 let {onCancel, onDataChanged, currentFlow, genericFieldInfo, formReady, isFormValid, onValidateForm} = this.props;
25                 let {artifactName, description} = currentFlow;
26                 return (
27                         <div>
28                                 {genericFieldInfo && <Form
29                                         onSubmit={() => this.onSaveClicked()}
30                                         onReset={onCancel} formReady={formReady} isValid={isFormValid} onValidateForm={() => onValidateForm()} >
31                                 <Input
32                                         type='text'
33                                         name='name'
34                                         label={i18n('Name')}
35                                         isValid={genericFieldInfo['artifactName'].isValid}
36                                         errorText={genericFieldInfo['artifactName'].errorText}
37                                         isRequired={true}
38                                         value={artifactName}
39                                         onChange={artifactName => onDataChanged({artifactName})}/>
40                                 <Input
41                                         type='textarea'
42                                         name='description'
43                                         label={i18n('Description')}
44                                         isValid={genericFieldInfo['description'].isValid}
45                                         errorText={genericFieldInfo['description'].errorText}
46                                         isRequired={true}
47                                         value={description}
48                                         overlayPos='bottom'
49                                         onChange={description => onDataChanged({description})}/>
50                         </Form> }
51                         </div>
52                 );
53         }
54
55         onSaveClicked() {
56                 let {currentFlow, onSubmit} = this.props;
57                 if (onSubmit) {
58                         onSubmit(currentFlow);
59                 }
60         }
61
62 }
63
64 export default FlowsEditorModalView;