choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
44 lines (37 loc) • 1.38 kB
JavaScript
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _createClass from "@babel/runtime/helpers/createClass";
import { convertToRaw } from '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) {
_classCallCheck(this, MentionGenerator);
this.contentState = contentState;
this.options = options;
}
_createClass(MentionGenerator, [{
key: "generate",
value: function generate() {
var contentRaw = 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;
}();
export default function exportContent(contentState) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return new MentionGenerator(contentState, options).generate();
}
//# sourceMappingURL=exportContent.js.map