Sha256: 2e942b91580050355c5241b9b85d2bb576cdae262b0cf2e51799ead38abc4c79

Contents?: true

Size: 1.1 KB

Versions: 2

Compression:

Stored size: 1.1 KB

Contents

import React from 'react';
import EllipsisWithTooltip from 'react-ellipsis-with-tooltip';
import PropTypes from 'prop-types';
import { translate as __ } from 'foremanReact/common/I18n';

import InfoItem from './InfoItem';
import { itemIteratorId } from './helpers';

const StringInfoItem = ({
  entry,
  attr,
  tooltipText,
  translate,
  mapAttr,
  elipsed,
}) => {
  const inner = (
    <span>{translate ? __(mapAttr(entry, attr)) : mapAttr(entry, attr)}</span>
  );
  const innerContent = elipsed ? (
    <EllipsisWithTooltip placement="top">{inner}</EllipsisWithTooltip>
  ) : (
    inner
  );

  return (
    <InfoItem itemId={itemIteratorId(entry, attr)} tooltipText={tooltipText}>
      {innerContent}
    </InfoItem>
  );
};

StringInfoItem.propTypes = {
  entry: PropTypes.object.isRequired,
  attr: PropTypes.string.isRequired,
  tooltipText: PropTypes.string,
  translate: PropTypes.bool,
  mapAttr: PropTypes.func,
  elipsed: PropTypes.bool,
};

StringInfoItem.defaultProps = {
  translate: false,
  mapAttr: (entry, attr) => entry[attr],
  elipsed: false,
  tooltipText: undefined,
};

export default StringInfoItem;

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
foreman_leapp-0.0.5 webpack/components/PreupgradeReportsList/components/StringInfoItem.js
foreman_leapp-0.0.4 webpack/components/PreupgradeReportsList/components/StringInfoItem.js