mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 12:55:00 +00:00
35 lines
1017 B
TypeScript
35 lines
1017 B
TypeScript
import type { FrameBlockModel } from '@blocksuite/affine-model';
|
|
import { BlockSuiteError } from '@blocksuite/global/exceptions';
|
|
import type { BlockComponent } from '@blocksuite/std';
|
|
import { GfxControllerIdentifier } from '@blocksuite/std/gfx';
|
|
|
|
import { EdgelessFrameTitleEditor } from './edgeless-frame-title-editor';
|
|
|
|
export function mountFrameTitleEditor(
|
|
frame: FrameBlockModel,
|
|
edgeless: BlockComponent
|
|
) {
|
|
const mountElm = edgeless.querySelector('.edgeless-mount-point');
|
|
if (!mountElm) {
|
|
throw new BlockSuiteError(
|
|
BlockSuiteError.ErrorCode.ValueNotExists,
|
|
"edgeless block's mount point does not exist"
|
|
);
|
|
}
|
|
|
|
const gfx = edgeless.std.get(GfxControllerIdentifier);
|
|
|
|
// @ts-expect-error TODO: refactor gfx tool
|
|
gfx.tool.setTool('default');
|
|
gfx.selection.set({
|
|
elements: [frame.id],
|
|
editing: true,
|
|
});
|
|
|
|
const frameEditor = new EdgelessFrameTitleEditor();
|
|
frameEditor.frameModel = frame;
|
|
frameEditor.edgeless = edgeless;
|
|
|
|
mountElm.append(frameEditor);
|
|
}
|