| import React from 'react'; |
| import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js'; |
| import OverlayTrigger from 'react-bootstrap/lib/OverlayTrigger.js'; |
| import Tooltip from 'react-bootstrap/lib/Tooltip.js'; |
| |
| function tooltip (msg) { |
| return ( |
| <Tooltip className='select-action-table-error-tooltip' id='error-tooltip'>{msg}</Tooltip> |
| ); |
| }; |
| |
| const IconWithOverlay = ({overlayMsg}) => ( |
| <OverlayTrigger placement='bottom' overlay={tooltip(overlayMsg)}> |
| <SVGIcon name='errorCircle' color='negative'/> |
| </OverlayTrigger> |
| ); |
| |
| function renderErrorOrCheck({hasError, overlayMsg}) { |
| if (hasError === undefined) { |
| return <SVGIcon name='angleRight' className='dummy-icon' />; |
| } |
| |
| if (hasError) { |
| return overlayMsg ? <IconWithOverlay overlayMsg={overlayMsg}/> : <SVGIcon color='negative' name='errorCircle'/>; |
| } |
| |
| return <SVGIcon name='checkCircle' color='positive'/>; |
| } |
| |
| const SelectActionTableRow = ({children, actionIcon, onAction, showAction, hasError, hasErrorIndication, overlayMsg}) => ( |
| <div className='select-action-table-row-wrapper'> |
| <div className={`select-action-table-row ${hasError ? 'has-error' : ''}`}> |
| {children} |
| </div> |
| {onAction && <SVGIcon color='secondary' name={actionIcon} data-test-id={`select-action-table-${actionIcon}`} onClick={onAction} iconClassName={(showAction) ? '' : 'hideDelete'}/>} |
| {hasErrorIndication && renderErrorOrCheck({hasError, overlayMsg})} |
| </div> |
| ); |
| |
| export default SelectActionTableRow; |