/* * 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 DetailsCatalogView from 'sdc-app/onboarding/onboard/DetailsCatalogView.jsx'; import VendorCatalogView from './VendorCatalogView.jsx'; import { tabsMapping } from './OnboardingCatalogConstants.js'; import { tabsMapping as WCTabsMapping } from 'sdc-app/onboarding/onboard/OnboardConstants.js'; const CatalogHeader = () => (
{i18n('ONBOARD CATALOG')}
); class OnboardingCatalogView extends React.Component { renderViewByTab(activeTab) { const { users, vspOverlay, onSelectLicenseModel, onSelectSoftwareProduct, onAddLicenseModelClick, onAddSoftwareProductClick, onVspOverlayChange, onVendorSelect, selectedVendor, searchValue, onMigrate, filteredItems, isArchived, activeTabName } = this.props; const { vlmList, vspList } = filteredItems; switch (activeTab) { case tabsMapping.ARCHIVE: case tabsMapping.ACTIVE: return ( onSelectLicenseModel( item, users, WCTabsMapping.CATALOG ) } onSelectVSP={(item, users) => onSelectSoftwareProduct( item, users, WCTabsMapping.CATALOG ) } activeTabName={activeTabName} filter={searchValue} onMigrate={onMigrate} /> ); case tabsMapping.BY_VENDOR: default: return ( onSelectSoftwareProduct( item, users, WCTabsMapping.CATALOG ) } onSelectVLM={(item, users) => onSelectLicenseModel( item, users, WCTabsMapping.CATALOG ) } vspOverlay={vspOverlay} onVendorSelect={onVendorSelect} selectedVendor={selectedVendor} onVspOverlayChange={onVspOverlayChange} onMigrate={onMigrate} activeTabName={activeTabName} filter={searchValue} /> ); } } render() { const { selectedVendor, catalogActiveTab: activeTab } = this.props; return (
{!selectedVendor && } {this.renderViewByTab(activeTab)}
); } } export default OnboardingCatalogView;