UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

35 lines (25 loc) 1.31 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = insertMention; var _draftJs = require("draft-js"); var _getSearchWord = _interopRequireDefault(require("./getSearchWord")); function insertMention(editorState, mention, data, mode) { var entityMode = mode === 'immutable' ? 'IMMUTABLE' : 'MUTABLE'; var selection = editorState.getSelection(); var contentState = editorState.getCurrentContent(); contentState.createEntity('mention', entityMode, data || mention); var searchWord = (0, _getSearchWord["default"])(editorState, selection); var begin = searchWord.begin, end = searchWord.end; var replacedContent = _draftJs.Modifier.replaceText(contentState, selection.merge({ anchorOffset: begin, focusOffset: end }), mention, null, contentState.getLastCreatedEntityKey()); var InsertSpaceContent = _draftJs.Modifier.insertText(replacedContent, replacedContent.getSelectionAfter(), ' '); var newEditorState = _draftJs.EditorState.push(editorState, InsertSpaceContent, 'insert-mention'); return _draftJs.EditorState.forceSelection(newEditorState, InsertSpaceContent.getSelectionAfter()); } //# sourceMappingURL=insertMention.js.map