UNPKG

draft-js-modifiers

Version:
43 lines (34 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _draftJs = require("draft-js"); var _getCurrentBlock = _interopRequireDefault(require("./utils/getCurrentBlock")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var removeInlineStyles = function removeInlineStyles(editorState) { var inlineStyles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; var selection = editorState.getSelection(); var content = editorState.getCurrentContent(); var newContent; if (selection.isCollapsed()) { var block = (0, _getCurrentBlock.default)(editorState); var updatedCharacterList = block.getCharacterList().map(function (c) { return inlineStyles.reduce(function (characterMetadata, style) { return _draftJs.CharacterMetadata.removeStyle(characterMetadata, style); }, c); }); var updatedBlock = block.set('characterList', updatedCharacterList); newContent = content.merge({ blockMap: content.getBlockMap().merge(_defineProperty({}, block.getKey(), updatedBlock)) }); } else { newContent = inlineStyles.reduce(function (contentState, style) { return _draftJs.Modifier.removeInlineStyle(contentState, selection, style); }, content); } return _draftJs.EditorState.push(editorState, newContent, 'change-inline-style'); }; var _default = removeInlineStyles; exports.default = _default;