Sha256: 1ab65915c1bec16252a6b704a26bf12f4486d04c60ed7c77df35ad925961bc85
Contents?: true
Size: 1.98 KB
Versions: 42
Compression:
Stored size: 1.98 KB
Contents
import React, { useState } from 'react'; import PropTypes from 'prop-types'; import { Button, DescriptionList, DescriptionListTerm as Term, DescriptionListGroup, DescriptionListDescription as Description, } from '@patternfly/react-core'; import { translate as __ } from 'foremanReact/common/I18n'; const ErratumExpansionDetail = ({ erratum }) => { const { title: synopsis, description, summary, solution, } = erratum; const [showDescription, setShowDescription] = useState(false); // whiteSpace: 'pre-line' will convert \n to line breaks return ( <DescriptionList> <DescriptionListGroup> <Term>{__('Synopsis')}</Term> <Description>{synopsis}</Description> </DescriptionListGroup> <DescriptionListGroup> <Term>{__('Summary')}</Term> <Description>{summary}</Description> </DescriptionListGroup> <DescriptionListGroup> <Term>{__('Solution')}</Term> <Description>{solution}</Description> </DescriptionListGroup> {showDescription && <DescriptionListGroup> <Term>{__('Full description')}</Term> <Description> <span style={{ whiteSpace: 'pre-line' }}>{description}</span> </Description> <Term> <Button variant="link" onClick={() => setShowDescription(false)}> {__('Hide description')} </Button> </Term> </DescriptionListGroup> } {!showDescription && <DescriptionListGroup> <Term> <Button variant="link" onClick={() => setShowDescription(true)}> {__('Show full description')} </Button> </Term> </DescriptionListGroup> } </DescriptionList> ); }; ErratumExpansionDetail.propTypes = { erratum: PropTypes.shape({ title: PropTypes.string, description: PropTypes.string, summary: PropTypes.string, solution: PropTypes.string, }).isRequired, }; export default ErratumExpansionDetail;
Version data entries
42 entries across 42 versions & 1 rubygems