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

Version Path
katello-3.8.1 webpack/scenes/Subscriptions/Details/SubscriptionDetailInfo.js
katello-3.7.1.1 webpack/scenes/Subscriptions/Details/SubscriptionDetailInfo.js
katello-3.7.1 webpack/scenes/Subscriptions/Details/SubscriptionDetailInfo.js
katello-3.8.0 webpack/scenes/Subscriptions/Details/SubscriptionDetailInfo.js
katello-3.8.0.rc3 webpack/scenes/Subscriptions/Details/SubscriptionDetailInfo.js
katello-3.8.0.rc2 webpack/scenes/Subscriptions/Details/SubscriptionDetailInfo.js
katello-3.7.0 webpack/scenes/Subscriptions/Details/SubscriptionDetailInfo.js
katello-3.8.0.rc1 webpack/scenes/Subscriptions/Details/SubscriptionDetailInfo.js
katello-3.7.0.rc2 webpack/scenes/Subscriptions/Details/SubscriptionDetailInfo.js