UNPKG

@bootstrap-styled/ra-ui

Version:
72 lines (57 loc) 2.34 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.removeTags = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _get = _interopRequireDefault(require("lodash/get")); var _pure = _interopRequireDefault(require("recompose/pure")); var _sanitizeRestProps = _interopRequireDefault(require("./sanitizeRestProps")); var removeTags = function removeTags(input) { return input ? input.replace(/<[^>]+>/gm, '') : ''; }; exports.removeTags = removeTags; var RichTextField = function RichTextField(_ref) { var className = _ref.className, source = _ref.source, _ref$record = _ref.record, record = _ref$record === void 0 ? {} : _ref$record, stripTags = _ref.stripTags, rest = (0, _objectWithoutProperties2.default)(_ref, ["className", "source", "record", "stripTags"]); var value = (0, _get.default)(record, source); if (stripTags) { return _react.default.createElement("span", (0, _extends2.default)({ className: className }, (0, _sanitizeRestProps.default)(rest)), removeTags(value)); } return _react.default.createElement("span", (0, _extends2.default)({ className: className }, (0, _sanitizeRestProps.default)(rest)), _react.default.createElement("span", { dangerouslySetInnerHTML: { __html: value } })); }; RichTextField.propTypes = { addLabel: _propTypes.default.bool, basePath: _propTypes.default.string, className: _propTypes.default.string, cellClassName: _propTypes.default.string, headerClassName: _propTypes.default.string, label: _propTypes.default.string, record: _propTypes.default.object, sortBy: _propTypes.default.string, source: _propTypes.default.string.isRequired, stripTags: _propTypes.default.bool }; var PureRichTextField = (0, _pure.default)(RichTextField); PureRichTextField.defaultProps = { addLabel: true, stripTags: false }; var _default = PureRichTextField; exports.default = _default;