import React from 'react'; import PropTypes from 'prop-types'; import { ControlLabel, OverlayTrigger, Tooltip } from 'react-bootstrap'; import InfoTooltipWithTrigger from '../../components/InfoTooltipWithTrigger'; import { t } from '../../locales'; const propTypes = { label: PropTypes.string.isRequired, description: PropTypes.string, validationErrors: PropTypes.array, renderTrigger: PropTypes.bool, rightNode: PropTypes.node, leftNode: PropTypes.node, onClick: PropTypes.func, hovered: PropTypes.bool, }; const defaultProps = { validationErrors: [], renderTrigger: false, hovered: false, }; export default class ControlHeader extends React.Component { renderOptionalIcons() { if (this.props.hovered) { return ( {this.props.description && {' '} } {this.props.renderTrigger && {' '} } ); } return null; } render() { const labelClass = (this.props.validationErrors.length > 0) ? 'text-danger' : ''; return (
{this.props.leftNode && {this.props.leftNode} } {this.props.label} {' '} {(this.props.validationErrors.length > 0) && {this.props.validationErrors.join(' ')} } > {' '} } {this.renderOptionalIcons()}
{this.props.rightNode &&
{this.props.rightNode}
}
); } } ControlHeader.propTypes = propTypes; ControlHeader.defaultProps = defaultProps;