Sha256: 3e8f5c27166fb8a88f4bcdcacfc4622ce8e79bdedeb33d3fdef327d790cba174
Contents?: true
Size: 1.84 KB
Versions: 9
Compression:
Stored size: 1.84 KB
Contents
import React from 'react'; import PropTypes from 'prop-types'; import { Table } from 'react-bootstrap'; import subscriptionAttributes from './SubscriptionAttributes'; const SubscriptionDetailInfo = ({ subscriptionDetails }) => { const subscriptionLimits = (subDetails) => { const limits = []; if (subDetails.sockets) { limits.push(__('Sockets: %s').replace('%s', subDetails.sockets)); } if (subDetails.cores) { limits.push(__('Cores: %s').replace('%s', subDetails.cores)); } if (subDetails.ram) { limits.push(__('RAM: %s GB').replace('%s', subDetails.ram)); } if (limits.length > 0) { return limits.join(', '); } return ''; }; const subscriptionDetailValue = (subDetails, key) => (subDetails[key] == null ? '' : String(subDetails[key])); const formatInstanceBased = (subDetails) => { if (subDetails.instance_multiplier == null || subDetails.instance_multiplier === '' || subDetails.instance_multiplier === 0) { return __('No'); } return __('Yes'); }; return ( <div> <h2>{__('Subscription Info')}</h2> <Table> <tbody> {Object.keys(subscriptionAttributes).map(key => ( <tr key={key}> <td><b>{__(subscriptionAttributes[key])}</b></td> <td>{subscriptionDetailValue(subscriptionDetails, key)}</td> </tr> ))} <tr> <td><b>{__('Limits')}</b></td> <td>{subscriptionLimits(subscriptionDetails)}</td> </tr> <tr> <td><b>{__('Instance-based')}</b></td> <td>{formatInstanceBased(subscriptionDetails)}</td> </tr> </tbody> </Table> </div> ); }; SubscriptionDetailInfo.propTypes = { subscriptionDetails: PropTypes.shape({}).isRequired, }; export default SubscriptionDetailInfo;
Version data entries
9 entries across 9 versions & 1 rubygems