From 5cd16d39ba3d544a87dd04938328c5ae91be22e1 Mon Sep 17 00:00:00 2001 From: regischen Date: Fri, 26 Jan 2024 15:37:48 +0800 Subject: [PATCH] fix(page): link disapper when paste (#6135) --- packages/blocks/src/_common/transformers/middlewares.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/blocks/src/_common/transformers/middlewares.ts b/packages/blocks/src/_common/transformers/middlewares.ts index 7fb7b0e96b70..a0753183488c 100644 --- a/packages/blocks/src/_common/transformers/middlewares.ts +++ b/packages/blocks/src/_common/transformers/middlewares.ts @@ -31,15 +31,22 @@ export const replaceIdMiddleware: JobMiddleware = ({ slots, workspace }) => { const delta: DeltaOperation[] = []; for (const d of model.text.toDelta()) { if (d.attributes?.reference?.pageId) { + const newId = idMap.get(d.attributes.reference.pageId); + if (!newId) { + prev += d.insert?.length ?? 0; + continue; + } + if (prev > 0) { delta.push({ retain: prev }); } + delta.push({ retain: d.insert?.length ?? 0, attributes: { reference: { ...d.attributes.reference, - pageId: idMap.get(d.attributes.reference.pageId)!, + pageId: newId, }, }, });