Add collaboration feature
[sdc.git] / openecomp-ui / src / sdc-app / onboarding / softwareProduct / processes / SoftwareProductProcessesView.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 PropTypes from 'prop-types';
18 import i18n from 'nfvo-utils/i18n/i18n.js';
19 import Modal from 'nfvo-components/modal/Modal.jsx';
20
21 import SoftwareProductProcessesEditor from './SoftwareProductProcessesEditor.js';
22 import SoftwareProductProcessListView from './SoftwareProductProcessListView.jsx';
23
24
25 class SoftwareProductProcessesView extends React.Component {
26
27         state = {
28                 localFilter: ''
29         };
30
31         static propTypes = {
32                 onAddProcess: PropTypes.func.isRequired,
33                 onEditProcess: PropTypes.func.isRequired,
34                 onDeleteProcess: PropTypes.func.isRequired,
35                 isDisplayEditor: PropTypes.bool.isRequired,
36                 isReadOnlyMode: PropTypes.bool.isRequired,
37                 currentSoftwareProduct:PropTypes.object
38         };
39
40         render() {
41                 return (
42                         <div className='software-product-landing-view-right-side vsp-processes-page'>
43                                 {this.renderEditor()}
44                                 <SoftwareProductProcessListView addButtonTitle={i18n('Add Process Details')} {...this.props}/>
45                         </div>
46                 );
47         }
48
49         renderEditor() {
50                 let {currentSoftwareProduct: {id}, version, isModalInEditMode, isReadOnlyMode, isDisplayEditor} = this.props;
51                 return (
52
53                         <Modal show={isDisplayEditor} bsSize='large' animation={true} className='onborading-modal'>
54                                 <Modal.Header>
55                                         <Modal.Title>{isModalInEditMode ? i18n('Edit Process Details') : i18n('Create New Process Details')}</Modal.Title>
56                                 </Modal.Header>
57                                 <Modal.Body className='edit-process-modal'>
58                                         <SoftwareProductProcessesEditor softwareProductId={id} version={version} isReadOnlyMode={isReadOnlyMode}/>
59                                 </Modal.Body>
60                         </Modal>
61                 );
62         }
63 }
64
65 export default SoftwareProductProcessesView;