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