@lobehub/editor
Version:
A powerful and extensible rich text editor built on Meta's Lexical framework, providing a modern editing experience with React integration.
31 lines • 1.21 kB
JavaScript
import { $createHeadingNode, $createQuoteNode } from '@lexical/rich-text';
import { $setBlocksType } from '@lexical/selection';
import { mergeRegister } from '@lexical/utils';
import { $getSelection, $isRangeSelection, COMMAND_PRIORITY_EDITOR, createCommand } from 'lexical';
export var INSERT_QUOTE_COMMAND = createCommand('INSERT_QUOTE_COMMAND');
export var INSERT_HEADING_COMMAND = createCommand('INSERT_HEADING_COMMAND');
export function registerCommands(editor) {
return mergeRegister(editor.registerCommand(INSERT_QUOTE_COMMAND, function () {
editor.update(function () {
var selection = $getSelection();
if ($isRangeSelection(selection)) {
$setBlocksType(selection, function () {
return $createQuoteNode();
});
}
});
return true;
}, COMMAND_PRIORITY_EDITOR // Priority
), editor.registerCommand(INSERT_HEADING_COMMAND, function (payload) {
editor.update(function () {
var selection = $getSelection();
if ($isRangeSelection(selection)) {
$setBlocksType(selection, function () {
return $createHeadingNode(payload.tag);
});
}
});
return true;
}, COMMAND_PRIORITY_EDITOR // Priority
));
}