UNPKG

@atlaskit/editor-plugin-clear-marks-on-empty-doc

Version:

Clear marks on empty doc plugin for @atlaskit/editor-core

33 lines (32 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.clearMarksOnEmptyDocPlugin = void 0; var _safePlugin = require("@atlaskit/editor-common/safe-plugin"); var _utils = require("@atlaskit/editor-common/utils"); var _state = require("@atlaskit/editor-prosemirror/state"); var pluginKey = new _state.PluginKey('clearMarksOnChangeToEmptyDocumentPlugin'); function createPlugin() { return new _safePlugin.SafePlugin({ key: pluginKey, appendTransaction: function appendTransaction(_transactions, oldState, newState) { // ED-2973: When a user clears the editor's content, remove the current active marks if (!(0, _utils.isEmptyDocument)(oldState.doc) && (0, _utils.isEmptyDocument)(newState.doc)) { return newState.tr.setStoredMarks([]); } return; } }); } var clearMarksOnEmptyDocPlugin = exports.clearMarksOnEmptyDocPlugin = function clearMarksOnEmptyDocPlugin() { return { name: 'clearMarksOnEmptyDoc', pmPlugins: function pmPlugins() { return [{ name: 'clearMarksOnChange', plugin: createPlugin }]; } }; };