Sha256: 64cd1e0390a656588bfc79f18cb1a72ca7bdc576dfce245bbcf5a9a8e87ab3f6

Contents?: true

Size: 1.75 KB

Versions: 26

Compression:

Stored size: 1.75 KB

Contents

import React from 'react';
import PropTypes from 'prop-types';
import { urlBuilder } from 'foremanReact/common/urlHelpers';
import { translate as __ } from 'foremanReact/common/I18n';
import {
  Text,
  TextContent,
  TextVariants,
} from '@patternfly/react-core';

const ComponentVersion = ({ componentCV }) => {
  const {
    id: componentId, latest, content_view_version: cvVersion, content_view: cv,
  } = componentCV;
  const {
    id: cvId,
    latest_version: latestVersion,
  } = cv;
  const { version, id: versionId } = cvVersion || {};
  const noVersionText = __('Not yet published');
  const latestDescription = __('Latest (automatically updates)');
  const manualVersionText = (latestVersion === version) ? __('Latest version') : __(`New version is available: Version ${latestVersion}`);
  if (componentId) {
    return (
      <>
        <a href={`${urlBuilder('content_views', '')}${cvId}#/versions/${versionId}`}>
          {version ? `Version ${version}` : noVersionText}
        </a>
        <TextContent>
          <Text component={TextVariants.small}>
            {latest ? latestDescription : manualVersionText}
          </Text>
        </TextContent>
      </>
    );
  }
  return (
    <a href={`${urlBuilder('content_views', '')}${cvId}${latestVersion ? `#/versions/${versionId}` : ''}`}>
      {latestVersion ? `Version ${latestVersion}` : noVersionText}
    </a>
  );
};

ComponentVersion.propTypes = {
  componentCV: PropTypes.shape({
    id: PropTypes.number,
    latest: PropTypes.bool.isRequired,
    content_view_version: PropTypes.shape({
      version: PropTypes.string,
    }),
    content_view: PropTypes.shape({
      id: PropTypes.number.isRequired,
      latest_version: PropTypes.string,
    }),
  }).isRequired,
};

export default ComponentVersion;

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
katello-4.6.2.1 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.6.2 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.6.1 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.4.2.2 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.4.2.1 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.4.2 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.5.1 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.6.0 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.6.0.rc2 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.6.0.rc1 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.5.0 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.5.0.rc2 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.4.1 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.5.0.rc1 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.4.0.2 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.4.0.1 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.3.1 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.4.0 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.4.0.rc2 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js
katello-4.4.0.rc1 webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js