From b6f8027e1b7ea0aabffebe726b67cf2fef528869 Mon Sep 17 00:00:00 2001 From: zzj3720 <17165520+zzj3720@users.noreply.github.com> Date: Fri, 14 Feb 2025 12:13:00 +0000 Subject: [PATCH] fix(editor): extra line breaks and spaces when parsing table from html (#10190) close: BS-2562, BS-2569 --- blocksuite/affine/block-table/src/adapters/html.ts | 2 +- blocksuite/affine/block-table/src/adapters/markdown.ts | 2 +- blocksuite/affine/block-table/src/adapters/utils.ts | 2 +- blocksuite/affine/model/src/blocks/table/table-model.ts | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/blocksuite/affine/block-table/src/adapters/html.ts b/blocksuite/affine/block-table/src/adapters/html.ts index 7d207cb942..4a70f98ecf 100644 --- a/blocksuite/affine/block-table/src/adapters/html.ts +++ b/blocksuite/affine/block-table/src/adapters/html.ts @@ -41,7 +41,7 @@ export const tableBlockHtmlAdapterMatcher: BlockHtmlAdapterMatcher = { }, 'children' ); - walkerContext.skipChildren(); + walkerContext.skipAllChildren(); } }, leave: (o, context) => { diff --git a/blocksuite/affine/block-table/src/adapters/markdown.ts b/blocksuite/affine/block-table/src/adapters/markdown.ts index d5c981be43..c26136cfc9 100644 --- a/blocksuite/affine/block-table/src/adapters/markdown.ts +++ b/blocksuite/affine/block-table/src/adapters/markdown.ts @@ -35,7 +35,7 @@ export const tableBlockMarkdownAdapterMatcher: BlockMarkdownAdapterMatcher = { }, 'children' ); - walkerContext.skipChildren(); + walkerContext.skipAllChildren(); } }, leave: (o, context) => { diff --git a/blocksuite/affine/block-table/src/adapters/utils.ts b/blocksuite/affine/block-table/src/adapters/utils.ts index 43262a386b..43164ad226 100644 --- a/blocksuite/affine/block-table/src/adapters/utils.ts +++ b/blocksuite/affine/block-table/src/adapters/utils.ts @@ -91,7 +91,7 @@ export const processTable = ( }; const getTextFromElement = (element: ElementContent): string => { if (element.type === 'text') { - return element.value; + return element.value.trim(); } if (element.type === 'element') { return element.children.map(child => getTextFromElement(child)).join(''); diff --git a/blocksuite/affine/model/src/blocks/table/table-model.ts b/blocksuite/affine/model/src/blocks/table/table-model.ts index a13dd79105..a8e5277147 100644 --- a/blocksuite/affine/model/src/blocks/table/table-model.ts +++ b/blocksuite/affine/model/src/blocks/table/table-model.ts @@ -39,7 +39,7 @@ export interface TableBlockPropsSerialized { } export class TableBlockModel extends BlockModel {} -export const TableModelFlavour = 'affine:table-test1-flavour'; +export const TableModelFlavour = 'affine:table'; export const TableBlockSchema = defineBlockSchema({ flavour: TableModelFlavour, props: (): TableBlockProps => ({