choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
53 lines (43 loc) • 1.67 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = exportContent;
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _draftJs = require("draft-js");
function encodeContent(text) {
return text.split('&').join('&').split('<').join('<').split('>').join('>').split('\xA0').join(' ').split('\n').join('<br > \n');
}
var MentionGenerator =
/*#__PURE__*/
function () {
function MentionGenerator(contentState, options) {
(0, _classCallCheck2["default"])(this, MentionGenerator);
this.contentState = contentState;
this.options = options;
}
(0, _createClass2["default"])(MentionGenerator, [{
key: "generate",
value: function generate() {
var contentRaw = (0, _draftJs.convertToRaw)(this.contentState);
return this.processContent(contentRaw);
}
}, {
key: "processContent",
value: function processContent(contentRaw) {
var blocks = contentRaw.blocks;
var encode = this.options.encode;
return blocks.map(function (block) {
return encode ? encodeContent(block.text) : block.text;
}).join(encode ? '<br />\n' : '\n');
}
}]);
return MentionGenerator;
}();
function exportContent(contentState) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return new MentionGenerator(contentState, options).generate();
}
//# sourceMappingURL=exportContent.js.map