aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-ui/src/sdc-app/onboarding/onboard/CatalogList.jsx
blob: 17248e3b02e98bb7228e417da8b6e9eea7fd9613 (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
/*!
 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
 *
 * 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 'nfvo-components/icon/SVGIcon.jsx';

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

const CatalogList = ({children, onAddVLM, onAddVSP, vendorPageOptions}) => (
	<div className='catalog-list'>
		{vendorPageOptions && <SoftwareProductListHeader onBack={vendorPageOptions.onBack} selectedVendor={vendorPageOptions.selectedVendor}/>}
		<div className='catalog-items'>
			<div className='create-catalog-item-wrapper'>
				{onAddVLM && <CreateItemTile onClick={onAddVLM} dataTestId={'catalog-add-new-lm'} 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 = ''}) => {
	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;