From e1bd2047c47ea1c6fa285031333617a01ba8d223 Mon Sep 17 00:00:00 2001 From: darkskygit Date: Mon, 7 Apr 2025 09:59:20 +0000 Subject: [PATCH] feat(server): add table support for doc parse (#11508) fix AF-2478 --- .../server/src/core/utils/blocksuite.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/backend/server/src/core/utils/blocksuite.ts b/packages/backend/server/src/core/utils/blocksuite.ts index 9e6bfcd223..0317bf9232 100644 --- a/packages/backend/server/src/core/utils/blocksuite.ts +++ b/packages/backend/server/src/core/utils/blocksuite.ts @@ -28,7 +28,8 @@ type KnownFlavour = | 'affine:image' | 'affine:attachment' | 'affine:transcription' - | 'affine:callout'; + | 'affine:callout' + | 'affine:table'; export function parseWorkspaceDoc(doc: Doc): WorkspaceDocContent | null { // not a workspace doc @@ -118,6 +119,21 @@ export function parsePageDoc( } break; } + case 'affine:table': { + // only extract text in full content mode + if (summaryLenNeeded === -1) { + const contents: string[] = [...block.keys()] + .map(key => { + if (key.startsWith('prop:cells.') && key.endsWith('.text')) { + return block.get(key)?.toString() ?? ''; + } + return ''; + }) + .filter(Boolean); + content.summary += contents.join('|'); + } + break; + } case 'affine:paragraph': case 'affine:list': case 'affine:code': {