blob: 1250a0b58e411b1d48aa56e6ceac4c2422cf51fc [file] [log] [blame]
AviZi280f8012017-06-09 02:39:56 +03001/*!
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 */
Michael Landoefa037d2017-02-19 12:57:33 +020016import React, {Component} from 'react';
17import i18n from 'nfvo-utils/i18n/i18n.js';
AviZi280f8012017-06-09 02:39:56 +030018import Input from 'nfvo-components/input/validation/Input.jsx';
19import Form from 'nfvo-components/input/validation/Form.jsx';
Michael Landoefa037d2017-02-19 12:57:33 +020020
21class FlowsEditorModalView extends Component {
22
23 render() {
AviZi280f8012017-06-09 02:39:56 +030024 let {onCancel, onDataChanged, currentFlow, genericFieldInfo, formReady, isFormValid, onValidateForm} = this.props;
Michael Landoefa037d2017-02-19 12:57:33 +020025 let {artifactName, description} = currentFlow;
26 return (
AviZi280f8012017-06-09 02:39:56 +030027 <div>
28 {genericFieldInfo && <Form
29 onSubmit={() => this.onSaveClicked()}
30 onReset={onCancel} formReady={formReady} isValid={isFormValid} onValidateForm={() => onValidateForm()} >
Michael Landoefa037d2017-02-19 12:57:33 +020031 <Input
32 type='text'
33 name='name'
34 label={i18n('Name')}
AviZi280f8012017-06-09 02:39:56 +030035 isValid={genericFieldInfo['artifactName'].isValid}
36 errorText={genericFieldInfo['artifactName'].errorText}
37 isRequired={true}
Michael Landoefa037d2017-02-19 12:57:33 +020038 value={artifactName}
39 onChange={artifactName => onDataChanged({artifactName})}/>
40 <Input
41 type='textarea'
42 name='description'
43 label={i18n('Description')}
AviZi280f8012017-06-09 02:39:56 +030044 isValid={genericFieldInfo['description'].isValid}
45 errorText={genericFieldInfo['description'].errorText}
46 isRequired={true}
Michael Landoefa037d2017-02-19 12:57:33 +020047 value={description}
AviZi280f8012017-06-09 02:39:56 +030048 overlayPos='bottom'
Michael Landoefa037d2017-02-19 12:57:33 +020049 onChange={description => onDataChanged({description})}/>
AviZi280f8012017-06-09 02:39:56 +030050 </Form> }
51 </div>
Michael Landoefa037d2017-02-19 12:57:33 +020052 );
53 }
54
55 onSaveClicked() {
56 let {currentFlow, onSubmit} = this.props;
57 if (onSubmit) {
58 onSubmit(currentFlow);
59 }
60 }
61
62}
63
64export default FlowsEditorModalView;