feat(editor): unify block props api (#10888)

Closes: [BS-2707](https://linear.app/affine-design/issue/BS-2707/统一使用props获取和更新block-prop)
This commit is contained in:
Saul-Mirone
2025-03-16 05:48:34 +00:00
parent 8f9e5bf0aa
commit 26285f7dcb
193 changed files with 1019 additions and 891 deletions

View File

@@ -51,7 +51,7 @@ export class BaseBlockTransformer<Props extends object = object> {
}
return Object.fromEntries(
draftModel.keys.map(key => {
const value = draftModel[key as keyof typeof draftModel];
const value = draftModel.props[key as keyof typeof draftModel.props];
return [key, toJSON(value)];
})
);

View File

@@ -457,8 +457,8 @@ export class Transformer {
id: flat.snapshot.id,
flavour: flat.snapshot.flavour,
children: [],
...props,
} as DraftModel;
props,
} as unknown as DraftModel;
} catch (error) {
console.error(`Error when transforming snapshot to model data:`);
console.error(error);
@@ -529,7 +529,7 @@ export class Transformer {
const actualIndex =
startIndex !== undefined ? startIndex + index : undefined;
doc.addBlock(flavour, draft as object, parentId, actualIndex);
doc.addBlock(flavour, { id, ...draft.props }, parentId, actualIndex);
const model = doc.getBlock(id)?.model;
if (!model) {