mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 12:55:00 +00:00
45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import { Text } from '@blocksuite/store';
|
|
|
|
import { CanvasRenderer } from './canvas-renderer.js';
|
|
import { doc, editor } from './editor.js';
|
|
|
|
const container = document.querySelector('#right-column') as HTMLElement;
|
|
const renderer = new CanvasRenderer(editor, container);
|
|
|
|
function initUI() {
|
|
const toCanvasButton = document.querySelector('#to-canvas-button')!;
|
|
toCanvasButton.addEventListener('click', async () => {
|
|
await renderer.render();
|
|
});
|
|
const switchModeButton = document.querySelector('#switch-mode-button')!;
|
|
switchModeButton.addEventListener('click', async () => {
|
|
editor.mode = editor.mode === 'page' ? 'edgeless' : 'page';
|
|
});
|
|
document.querySelector('#left-column')?.append(editor);
|
|
}
|
|
|
|
function addParagraph(content: string) {
|
|
const note = doc.getBlockByFlavour('affine:note')[0];
|
|
const props = {
|
|
text: new Text(content),
|
|
};
|
|
doc.addBlock('affine:paragraph', props, note.id);
|
|
}
|
|
|
|
function main() {
|
|
initUI();
|
|
|
|
const firstParagraph = doc.getBlockByFlavour('affine:paragraph')[0];
|
|
doc.updateBlock(firstParagraph, { text: new Text('Renderer') });
|
|
|
|
addParagraph('Hello World!');
|
|
addParagraph(
|
|
'Hello World! Lorem ipsum dolor sit amet. Consectetur adipiscing elit. Sed do eiusmod tempor incididunt.'
|
|
);
|
|
addParagraph(
|
|
'你好这是测试,这是一个为了换行而写的中文段落。这个段落会自动换行。'
|
|
);
|
|
}
|
|
|
|
main();
|