From 0ef01002b4a8c403e487cb9f539d9eee8c732272 Mon Sep 17 00:00:00 2001 From: zzj3720 Date: Thu, 27 Feb 2025 15:29:17 +0800 Subject: [PATCH] fix(editor): slice to snapshot supports flat data structures --- blocksuite/framework/store/src/transformer/base.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/blocksuite/framework/store/src/transformer/base.ts b/blocksuite/framework/store/src/transformer/base.ts index d6b9590838..0dab7c1e55 100644 --- a/blocksuite/framework/store/src/transformer/base.ts +++ b/blocksuite/framework/store/src/transformer/base.ts @@ -1,4 +1,4 @@ -import type { BlockModel } from '../model/block/block-model'; +import { BlockModel } from '../model/block/block-model'; import type { DraftModel } from '../model/block/draft'; import { type InternalPrimitives, @@ -43,9 +43,15 @@ export class BaseBlockTransformer { } protected _propsToSnapshot(model: DraftModel) { + const props = + model instanceof BlockModel + ? model.schema.model.isFlatData + ? model.props + : model + : model; return Object.fromEntries( model.keys.map(key => { - const value = model[key as keyof typeof model]; + const value = props[key as keyof typeof model]; return [key, toJSON(value)]; }) );