UNPKG

admin-on-rest-fr05t1k

Version:

A frontend Framework for building admin applications on top of REST services, using ES6, React and Material UI

32 lines (27 loc) 852 B
import React, { PropTypes } from 'react'; import onlyUpdateForKeys from 'recompose/onlyUpdateForKeys'; import compose from 'recompose/compose'; import translate from '../../i18n/translate'; const Title = ({ defaultTitle, record, title, translate }) => { if (!title) { return <span>{defaultTitle}</span>; } if (typeof title === 'string') { return <span>{translate(title, { _: title })}</span>; } return React.cloneElement(title, { record }); }; Title.propTypes = { defaultTitle: PropTypes.string.isRequired, record: PropTypes.object, translate: PropTypes.func.isRequired, title: PropTypes.oneOfType([ PropTypes.string, PropTypes.element, ]), }; const enhance = compose( translate, onlyUpdateForKeys('defaultTitle', 'record', 'title'), ); export default enhance(Title);