chore(infra): remove blocksuite from infra (#9353)

This commit is contained in:
liuyi
2024-12-26 21:43:12 +08:00
committed by GitHub
parent 126d576c3e
commit 41c8232472
12 changed files with 30 additions and 21 deletions

View File

@@ -0,0 +1,45 @@
import type { SurfaceBlockProps } from '@blocksuite/affine/block-std/gfx';
import {
NoteDisplayMode,
type NoteProps,
type ParagraphProps,
type RootBlockProps,
} from '@blocksuite/affine/blocks';
import { type Doc, Text } from '@blocksuite/affine/store';
export interface DocProps {
page?: Partial<RootBlockProps>;
surface?: Partial<SurfaceBlockProps>;
note?: Partial<NoteProps>;
paragraph?: Partial<ParagraphProps>;
}
export function initEmptyDoc(doc: Doc, title?: string) {
doc.load(() => {
initDocFromProps(doc, {
page: {
title: new Text(title),
},
});
});
}
export function initDocFromProps(doc: Doc, props?: DocProps) {
doc.load(() => {
const pageBlockId = doc.addBlock(
'affine:page',
props?.page || { title: new Text('') }
);
doc.addBlock('affine:surface' as never, props?.surface || {}, pageBlockId);
const noteBlockId = doc.addBlock(
'affine:note',
{
...props?.note,
displayMode: NoteDisplayMode.DocAndEdgeless,
},
pageBlockId
);
doc.addBlock('affine:paragraph', props?.paragraph || {}, noteBlockId);
doc.history.clear();
});
}