Files
AFFiNE-Mirror/blocksuite/framework/block-std/src/inline/utils/query.ts
2025-03-20 05:46:56 +00:00

21 lines
594 B
TypeScript

import { INLINE_ROOT_ATTR } from '../consts.js';
import type { InlineEditor, InlineRootElement } from '../inline-editor.js';
export function getInlineEditorInsideRoot(
element: Element
): InlineEditor | null {
const rootElement = element.closest(
`[${INLINE_ROOT_ATTR}]`
) as InlineRootElement;
if (!rootElement) {
console.error('element must be inside a v-root');
return null;
}
const inlineEditor = rootElement.inlineEditor;
if (!inlineEditor) {
console.error('element must be inside a v-root with inline-editor');
return null;
}
return inlineEditor;
}