mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 20:38:52 +00:00
21 lines
594 B
TypeScript
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;
|
|
}
|