import React from 'react'; import { Grid, ListView, Badge, Icon } from 'patternfly-react'; import { translate as __ } from 'foremanReact/common/I18n'; import EmptyInfoItem from './EmptyInfoItem'; import SeverityHigh from './images/i_severity-high.svg'; import SeverityMedium from './images/i_severity-med.svg'; import SeverityLow from './images/i_severity-low.svg'; export const itemIteratorId = (entry, ...rest) => `${entry.id}-${entry.preupgradeReportId}-${rest.join('-')}`; export const tagInfo = tags => tags.map(attr => ( {attr} )); export const getSeverityImg = entry => { const key = itemIteratorId(entry, `sv${entry.id}`); switch (entry.severity) { case 'low': return ( {__('Low ); case 'medium': return ( {__('Medium ); case 'high': return ( {__('High ); default: return ( {__('Low ); } }; export const hasRemediations = entry => { const key = itemIteratorId(entry, `rm${entry.id}`); if (entry.detail && entry.detail.remediations) { return ( {__('Has Remediation')} ); } return ; }; export const getTitle = entry => { if (entry.title) { return ( {__('Title')} {entry.title} ); } return
; }; export const getSeverity = entry => { if (entry.severity) { return ( {__('Risk Factor')} {getSeverityImg(entry)} {entry.severity} ); } return
; }; export const getSummary = entry => { if (entry.summary) { return ( {__('Summary')} {entry.summary} ); } return
; }; export const getTags = entry => { if (entry.tags) { return ( {__('Tags')} {tagInfo(entry.tags)} ); } return
; }; export const getExternals = entry => { if (entry.detail && entry.detail.external) { return entry.detail.external.map(attr => { const key = itemIteratorId(entry, attr); return ( {__('Links')} {attr.title} ); }); } return
; }; export const getRemediations = entry => { if (entry.detail && entry.detail.remediations) { return entry.detail.remediations.map(attr => { const key = itemIteratorId(entry, attr); if (attr.type === 'hint') { return ( {__('Hint')} {attr.context} ); } if (attr.type === 'command') { return ( {__('Command')} {attr.context.join(' ')} ); } return
; }); } return
; };