@lobehub/editor
Version:
A powerful and extensible rich text editor built on Meta's Lexical framework, providing a modern editing experience with React integration.
33 lines • 1.11 kB
JavaScript
import { CAN_USE_DOM, mergeRegister } from '@lexical/utils';
import { COMMAND_PRIORITY_HIGH, SELECTION_CHANGE_COMMAND } from 'lexical';
import { $getNodeFromDOMNode } from "../../../editor-kernel/utils";
export function patchBreakLine() {
// ignore
}
function getElement(node) {
if (node.nodeType === Node.ELEMENT_NODE) {
return node;
}
return node.parentElement;
}
export function registerBreakLineClick(editor) {
return mergeRegister(editor.registerCommand(SELECTION_CHANGE_COMMAND, function () {
if (CAN_USE_DOM) {
var sel = document.getSelection();
if (sel !== null && sel !== void 0 && sel.anchorNode) {
var node = getElement(sel.anchorNode);
if (node !== null && node !== void 0 && node.hasAttribute('data-lexical-linebreak') && node.parentElement) {
var p = node.parentElement;
editor.update(function () {
var elem = $getNodeFromDOMNode(p, editor);
if (elem) {
elem.selectEnd();
}
});
return true;
}
}
}
return false;
}, COMMAND_PRIORITY_HIGH));
}