Files
coopgo/node_modules/decap-cms-widget-markdown/src/MarkdownControl/plugins/blocks/events/keyDownBackspace.js
sgauthier 6e64e138e2
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
planning
2024-10-14 09:15:30 +02:00

28 lines
892 B
JavaScript

import { Transforms } from 'slate';
import unwrapIfCursorAtStart from '../transforms/unwrapIfCursorAtStart';
import isCursorAtStartOfNonEmptyHeading from '../locations/isCursorAtStartOfNonEmptyHeading';
import lowestMatchedAncestor from '../../matchers/lowestMatchedAncestor';
import areCurrentAndPreviousBlocksOfType from '../locations/areCurrentAndPreviousBlocksOfType';
import isCursorAtStartOfBlockType from '../locations/isCursorAtStartOfBlockType';
function keyDownBackspace(editor) {
if (!editor.selection) return;
if (isCursorAtStartOfNonEmptyHeading(editor)) {
return;
}
if (
isCursorAtStartOfBlockType(editor, 'quote') &&
areCurrentAndPreviousBlocksOfType(editor, 'quote')
) {
Transforms.mergeNodes(editor, lowestMatchedAncestor(editor, 'quote'));
return true;
}
return unwrapIfCursorAtStart(editor, true);
}
export default keyDownBackspace;