react 16 upgrade
[sdc.git] / openecomp-ui / src / sdc-app / flows / FlowsEditorModal.js
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 { connect } from 'react-redux';
17 import FlowsEditorModalView from './FlowsEditorModalView.jsx';
18 import FlowsActions from './FlowsActions.js';
19 import { FLOWS_EDITOR_FORM } from './FlowsConstants.js';
20 import ValidationHelper from 'sdc-app/common/helpers/ValidationHelper.js';
21
22 export const mapStateToProps = ({ flows }) => {
23     let {
24         data = { artifactName: '', description: '' },
25         serviceID,
26         diagramType,
27         flowParticipants,
28         genericFieldInfo,
29         formReady
30     } = flows;
31     if (!data.serviceID) {
32         data.serviceID = serviceID;
33     }
34     if (!data.artifactType) {
35         data.artifactType = diagramType;
36     }
37     if (!data.participants) {
38         data.participants = flowParticipants;
39     }
40     let isFormValid = ValidationHelper.checkFormValid(genericFieldInfo);
41
42     return {
43         currentFlow: data,
44         genericFieldInfo,
45         isFormValid,
46         formReady
47     };
48 };
49
50 const mapActionsToProps = (dispatch, { isNewArtifact }) => {
51     return {
52         onSubmit: flow => {
53             FlowsActions.closeEditCreateWFModal(dispatch);
54             FlowsActions.createOrUpdateFlow(dispatch, { flow }, isNewArtifact);
55         },
56         onCancel: () => FlowsActions.closeEditCreateWFModal(dispatch),
57         onDataChanged: deltaData =>
58             ValidationHelper.dataChanged(dispatch, {
59                 deltaData,
60                 formName: FLOWS_EDITOR_FORM
61             }),
62         onValidateForm: () =>
63             ValidationHelper.validateForm(dispatch, FLOWS_EDITOR_FORM)
64     };
65 };
66
67 export default connect(mapStateToProps, mapActionsToProps)(
68     FlowsEditorModalView
69 );