summaryrefslogtreecommitdiffstats
path: root/openecomp-ui/src/sdc-app/onboarding/onboard/CatalogList.jsx
blob: 10d855c862b28d11c0d2f52bd9660c46d76a8801 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 * Copyright © 2016-2018 European Support Limited
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import React from 'react';
import i18n from 'nfvo-utils/i18n/i18n.js';
import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js';

const SoftwareProductListHeader = ({selectedVendor, onBack}) => (
	<div className='vendor-page-header'>
		<SVGIcon name='back' onClick={onBack}/>
		<div className='tab-separator' />
		<div className='vendor-name'>{selectedVendor.name}</div>
	</div>
);

const CatalogList = ({children, onAddVLM, onAddVSP, vendorPageOptions}) => (
	<div className='catalog-list'>
		{vendorPageOptions && <SoftwareProductListHeader onBack={vendorPageOptions.onBack} selectedVendor={vendorPageOptions.selectedVendor}/>}
		<div className='catalog-items'>
			{ (onAddVLM || onAddVSP) &&
				<div className='create-catalog-item-wrapper'>
					{onAddVLM && <CreateItemTile onClick={onAddVLM} dataTestId={'catalog-add-new-vlm'} className='vlm-type' title={i18n('CREATE NEW VLM')}/>}
					{onAddVSP && <CreateItemTile onClick={() => onAddVSP()} dataTestId={'catalog-add-new-vsp'} className='vsp-type' title={i18n('CREATE NEW VSP')}/>}
				</div>
			}
			{children}
		</div>
	</div>
);

const CreateItemTile = ({onClick, dataTestId, title, className = ''}) => {
	//TODO check for buttons
	return (
			<div className={`create-catalog-item tile ${className}`} onClick={onClick} data-test-id={dataTestId}>
				<div className='create-item-plus-icon'><SVGIcon name='plus' /></div>
				<div className='create-item-text'>{title}</div>
			</div>
	);
};

export default CatalogList;