admin-on-rest-fr05t1k
Version:
A frontend Framework for building admin applications on top of REST services, using ES6, React and Material UI
33 lines (25 loc) • 854 B
JavaScript
import React, { PropTypes } from 'react';
import get from 'lodash.get';
import pure from 'recompose/pure';
export const removeTags = input => input.replace(/<[^>]+>/gm, '');
const RichTextField = ({ source, record = {}, stripTags, elStyle }) => {
const value = get(record, source);
if (stripTags) {
return <div style={elStyle}>{removeTags(value)}</div>;
}
return <div style={elStyle} dangerouslySetInnerHTML={{ __html: value }}></div>;
};
RichTextField.propTypes = {
addLabel: PropTypes.bool,
elStyle: PropTypes.object,
label: PropTypes.string,
record: PropTypes.object,
source: PropTypes.string.isRequired,
stripTags: PropTypes.bool,
};
const PureRichTextField = pure(RichTextField);
PureRichTextField.defaultProps = {
addLabel: true,
stripTags: false,
};
export default PureRichTextField;