@bootstrap-styled/ra-ui
Version:
UI components for react-admin
72 lines (57 loc) • 2.34 kB
JavaScript
"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;