feat(editor): add block meta for more blocks (#11034)

This commit is contained in:
Saul-Mirone
2025-03-20 10:08:01 +00:00
parent 27a8afa33f
commit c1ec17ccba
4 changed files with 40 additions and 14 deletions
+10 -4
View File
@@ -8,17 +8,19 @@ import {
type InternalPrimitives,
} from '@blocksuite/store';
import type { BlockMeta } from './types';
export type EmbedProps<Props = object> = Props & GfxCompatibleProps & BlockMeta;
export function defineEmbedModel<
Props extends object,
T extends Constructor<BlockModel<Props>> = Constructor<BlockModel<Props>>,
>(BlockModelSuperClass: T) {
return GfxCompatible<Props & GfxCompatibleProps>(
BlockModelSuperClass as Constructor<BlockModel<Props & GfxCompatibleProps>>
return GfxCompatible<EmbedProps<Props>>(
BlockModelSuperClass as Constructor<BlockModel<EmbedProps<Props>>>
);
}
export type EmbedProps<Props = object> = Props & GfxCompatibleProps;
export type EmbedBlockModel<Props = object> = BlockModel<EmbedProps<Props>>;
export function createEmbedBlockSchema<
@@ -50,6 +52,10 @@ export function createEmbedBlockSchema<
xywh: '[0,0,0,0]',
lockedBySelf: false,
rotate: 0,
'meta:createdAt': undefined,
'meta:updatedAt': undefined,
'meta:createdBy': undefined,
'meta:updatedBy': undefined,
...userProps,
} as unknown as EmbedProps<Props>;
},