@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
JavaScript
;
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
}];
}
};
};