refactor(editor): improve edgeless clipboard config (#11472)

This commit is contained in:
Saul-Mirone
2025-04-05 03:48:26 +00:00
parent 96e860caf3
commit 0fbca31c27
30 changed files with 492 additions and 451 deletions
@@ -0,0 +1,28 @@
import { EdgelessClipboardConfig } from '@blocksuite/affine-block-surface';
import { type BlockSnapshot } from '@blocksuite/store';
export class EdgelessClipboardNoteConfig extends EdgelessClipboardConfig {
static override readonly key = 'affine:note';
override async createBlock(note: BlockSnapshot): Promise<null | string> {
const oldId = note.id;
delete note.props.index;
if (!note.props.xywh) {
console.error(`Note block(id: ${oldId}) does not have xywh property`);
return null;
}
const newId = await this.onBlockSnapshotPaste(
note,
this.std.store,
this.std.store.root!.id
);
if (!newId) {
console.error(`Failed to paste note block(id: ${oldId})`);
return null;
}
return newId;
}
}
@@ -2,6 +2,7 @@ export * from './adapters';
export * from './commands';
export * from './components/edgeless-note-background';
export * from './config';
export * from './edgeless-clipboard-config';
export * from './note-block';
export * from './note-edgeless-block';
export * from './note-spec';