import React from 'react'; import PropTypes from 'prop-types'; import { TableText } from '@patternfly/react-table'; import { chart_color_black_500 as pfBlack, chart_color_gold_400 as pfGold, chart_color_orange_300 as pfOrange, chart_color_red_200 as pfRed, } from '@patternfly/react-tokens'; import { translate as __ } from 'foremanReact/common/I18n'; import { BugIcon, SecurityIcon, EnhancementIcon, SquareIcon, } from '@patternfly/react-icons'; import { TranslatedAnchor } from '../Table/components/TranslatedPlural'; export const ErrataMapper = ({ data, id }) => data.map(({ x: type, y: count }) => ); export const ErrataSummary = ({ type, count }) => { let ErrataIcon; let label; let url; let color; switch (type) { case 'security': label = __('Security'); ErrataIcon = SecurityIcon; color = '#0066cc'; url = ( ); break; case 'recommended': case 'bugfix': label = __('Bugfix'); ErrataIcon = BugIcon; color = '#8bc1f7'; url = ( ); break; case 'enhancement': case 'optional': label = __('Enhancement'); ErrataIcon = EnhancementIcon; color = '#002f5d'; url = ( ); break; default: } if (!ErrataIcon) return null; return ( {url} ); }; ErrataSummary.propTypes = { type: PropTypes.string.isRequired, count: PropTypes.number.isRequired, }; export const ErrataType = ({ type }) => { let ErrataIcon; let label; switch (type) { case 'security': label = __('Security'); ErrataIcon = SecurityIcon; break; case 'recommended': case 'bugfix': label = __('Bugfix'); ErrataIcon = BugIcon; break; case 'enhancement': case 'optional': label = __('Enhancement'); ErrataIcon = EnhancementIcon; break; default: } if (!ErrataIcon) return null; return ( {label} ); }; ErrataType.propTypes = { type: PropTypes.string.isRequired, }; export const ErrataSeverity = ({ severity }) => { let color; let label; switch (severity) { case 'Low': color = pfBlack.value; label = __('Low'); break; case 'Moderate': color = pfGold.value; label = __('Moderate'); break; case 'Important': color = pfOrange.value; label = __('Important'); break; case 'Critical': color = pfRed.value; label = __('Critical'); break; default: label = __('N/A'); } return {color && } {label} ; }; ErrataSeverity.propTypes = { severity: PropTypes.string.isRequired, };