/*! * 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 PropTypes from 'prop-types'; import i18n from 'nfvo-utils/i18n/i18n.js'; import { Tile, TileInfo, TileInfoLine, TileFooter, TileFooterCell, Button } from 'sdc-ui/lib/react'; import VSPOverlay from './VSPOverlay.jsx'; import { TooltipWrapper } from './Tooltip.jsx'; class VendorItem extends React.Component { static PropTypes = { softwareProductList: PropTypes.array, vendor: PropTypes.object, shouldShowOverlay: PropTypes.bool, onSelectVSP: PropTypes.func, onVendorSelect: PropTypes.func, onAddVSP: PropTypes.func, onVSPButtonClick: PropTypes.func }; render() { let { vendor, onSelectVSP, shouldShowOverlay, onVendorSelect, onMigrate } = this.props; let { softwareProductList = [], name } = vendor; return ( onVendorSelect(vendor)}> {name} {shouldShowOverlay && softwareProductList.length > 0 && ( onVendorSelect(vendor)} /> )} ); } onCreateVspClick(e) { e.stopPropagation(); e.preventDefault(); const { onAddVSP, vendor: { id } } = this.props; onAddVSP(id); } handleVspCountClick(e) { e.stopPropagation(); e.preventDefault(); const { onVSPButtonClick, vendor: { softwareProductList } } = this.props; const hasVSP = Boolean(softwareProductList.length); onVSPButtonClick(hasVSP); } } export default VendorItem;