From fc2aea4669003223f8d0bab08256aa12aa52a575 Mon Sep 17 00:00:00 2001 From: Bran <1055025755@qq.com> Date: Sat, 8 Apr 2023 15:18:02 +0800 Subject: [PATCH 1/9] =?UTF-8?q?feat:=20=E6=98=8E=E7=BB=86=E8=A1=A8-?= =?UTF-8?q?=E5=88=97=E5=88=86=E7=BB=84=E5=A2=9E=E5=8A=A0=20rowSpan=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A1=B9,=20=E7=94=A8=E6=9D=A5=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89=E5=90=88=E5=B9=B6=E5=8D=95?= =?UTF-8?q?=E5=85=83=E6=A0=BC=20close=20#2150?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../s2-core/src/common/interface/basic.ts | 1 + packages/s2-core/src/facet/table-facet.ts | 62 ++++++++++++++++++- s2-site/docs/api/general/S2DataConfig.en.md | 3 +- s2-site/docs/api/general/S2DataConfig.zh.md | 1 + 4 files changed, 65 insertions(+), 2 deletions(-) diff --git a/packages/s2-core/src/common/interface/basic.ts b/packages/s2-core/src/common/interface/basic.ts index 62d5c0a57f..71bf3d0032 100644 --- a/packages/s2-core/src/common/interface/basic.ts +++ b/packages/s2-core/src/common/interface/basic.ts @@ -106,6 +106,7 @@ export interface Fields { export interface ColumnNode { key: string; children?: Columns; + rowSpan?: number; } export interface TotalsStatus { diff --git a/packages/s2-core/src/facet/table-facet.ts b/packages/s2-core/src/facet/table-facet.ts index 19e57c7b76..099ce13004 100644 --- a/packages/s2-core/src/facet/table-facet.ts +++ b/packages/s2-core/src/facet/table-facet.ts @@ -4,8 +4,10 @@ import { isBoolean, isNil, isNumber, + isString, last, maxBy, + omit, set, values, } from 'lodash'; @@ -23,6 +25,7 @@ import { import { FrozenCellGroupMap } from '../common/constant/frozen'; import { DebuggerUtil } from '../common/debug'; import type { + Columns, FilterParam, LayoutResult, ResizeInteractionOptions, @@ -289,11 +292,68 @@ export class TableFacet extends BaseFacet { return cellCfg?.width; } + /** 扁平化树形 columns */ + private flattenTree(tree: Columns): Columns { + return tree.reduce((prev, curr) => { + if (isString(curr)) { + prev = prev.concat(curr); + } else { + prev = prev.concat(omit(curr, 'children')); + if (curr.children?.length) { + prev = prev.concat(this.flattenTree(curr.children)); + } + } + return prev; + }, []); + } + + /** 当前节点所在列是否配置了 rowSpan */ + private hasRowSpanInBranch(tree: Columns, field: string): boolean { + const columns = tree.map((item) => this.flattenTree([item])); + const branch = columns.find((items) => { + return items.some((item) => { + if (isString(item)) { + return item === field; + } + if (item.key === field) { + return true; + } + return false; + }); + }); + return branch?.some((item) => !isString(item) && Boolean(item?.rowSpan)); + } + + /** 当前节点的 rowSpan */ + private findRowSpanInCurrentNode( + columns: Columns, + field: string, + ): number | void { + const flattedColumns = this.flattenTree(columns); + const column = flattedColumns.find((item) => { + return !isString(item) && item.key === field; + }); + return !isString(column) && column.rowSpan; + } + + /** TIP: 获取列头 Node 高度 */ private getColNodeHeight(col: Node, totalHeight?: number) { - const { colCfg } = this.cfg; + const { colCfg, columns } = this.cfg; + // 明细表所有列节点高度保持一致 const userDragHeight = values(colCfg?.heightByField)[0]; + + const hasRowSpanInBranch = this.hasRowSpanInBranch(columns, col.field); + const currentRowSpan = this.findRowSpanInCurrentNode(columns, col.field); + + /** 用户拖拽高度 > 配置高度 */ const height = userDragHeight || colCfg?.height; + + // 如果当前列任意 leaf 设置了 rowSpan, 按照 rowSpan 划分列头单元格高度 + if (hasRowSpanInBranch) { + return height * (currentRowSpan || 1); + } + if (!totalHeight) { return height; } diff --git a/s2-site/docs/api/general/S2DataConfig.en.md b/s2-site/docs/api/general/S2DataConfig.en.md index f477162b0b..df8f4f8ff9 100644 --- a/s2-site/docs/api/general/S2DataConfig.en.md +++ b/s2-site/docs/api/general/S2DataConfig.en.md @@ -116,5 +116,6 @@ Function description: used to support custom data cell rendering of multiple ind | 属性名称 | 说明 | 类型 | 默认值 | 必选 | | ------- | ---------| -------| ------|------| -| name | 列字段 id 或分组 id | string | | ✓ | +| key | 列字段 id 或分组 id | string | | ✓ | +| rowSpan | 合并单元格行数,配置后则优先按照 rowSpan 规划列头单元格高度 | number | | | | children | 分组下面的子级 | Array\ | | | diff --git a/s2-site/docs/api/general/S2DataConfig.zh.md b/s2-site/docs/api/general/S2DataConfig.zh.md index f06b8effbe..8d6740f28e 100644 --- a/s2-site/docs/api/general/S2DataConfig.zh.md +++ b/s2-site/docs/api/general/S2DataConfig.zh.md @@ -115,4 +115,5 @@ object **必选**,_default:null_ | 属性名称 | 说明 | 类型 | 默认值 | 必选 | | ------- | ---------| -------| ------|------| | key | 列字段 id 或分组 id | string | | ✓ | +| rowSpan | 合并单元格行数,配置后则优先按照 rowSpan 规划列头单元格高度 | number | | | | children | 分组下面的子级 | `Array` | | | From 0d5be1acf7eb5f3151e90744927be46841d38a5b Mon Sep 17 00:00:00 2001 From: Bran <1055025755@qq.com> Date: Thu, 11 May 2023 16:33:47 +0800 Subject: [PATCH 2/9] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E8=A1=A8=E7=AC=AC=E4=B8=80=E5=88=97=E5=88=97=E5=A4=B4=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=20rowSpan=20=E5=90=8E=E5=8F=AF=E8=83=BD=E5=87=BA?= =?UTF-8?q?=E8=A1=8C=E7=9A=84=E7=A9=BA=E7=99=BD=E8=A1=8C=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/s2-core/src/facet/table-facet.ts | 51 ++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/packages/s2-core/src/facet/table-facet.ts b/packages/s2-core/src/facet/table-facet.ts index 099ce13004..ceea6f8ce8 100644 --- a/packages/s2-core/src/facet/table-facet.ts +++ b/packages/s2-core/src/facet/table-facet.ts @@ -25,6 +25,7 @@ import { import { FrozenCellGroupMap } from '../common/constant/frozen'; import { DebuggerUtil } from '../common/debug'; import type { + ColumnNode, Columns, FilterParam, LayoutResult, @@ -368,13 +369,61 @@ export class TableFacet extends BaseFacet { return totalHeight; } + /** 判断 columns 中是否配置了 rowSpan */ + private isRowSpanConfiged(columns: Columns) { + return columns.some((item) => { + if (isString(item)) { + return false; + } + if (item.rowSpan) { + return true; + } + if (item.children?.length) { + const res = this.isRowSpanConfiged(item.children); + if (res) { + return true; + } + } + return false; + }); + } + + private getTreeDepth(column: string | ColumnNode) { + if (!column) { + return 0; + } + let maxDepth = 0; + if (!isString(column)) { + column?.children?.slice(0, 1)?.forEach((child) => { + const depth = this.getTreeDepth(child); + if (depth > maxDepth) { + maxDepth = depth; + } + }); + } + return maxDepth + 1; + } + private calculateColNodesCoordinate( colLeafNodes: Node[], colsHierarchy: Hierarchy, ) { + const { columns } = this.cfg; let preLeafNode = Node.blankNode(); const allNodes = colsHierarchy.getNodes(); - for (const levelSample of colsHierarchy.sampleNodesForAllLevels) { + + // 一旦设置了 rowSpan 则只根据第一列行数计算列头高度, 避免出现空白行 + const isRowSpanConfiged = this.isRowSpanConfiged(columns); + const countLines = this.getTreeDepth(columns?.[0]); + let end = colsHierarchy.sampleNodesForAllLevels.length + 1; + if (isRowSpanConfiged) { + end = countLines; + } + + for (const levelSample of colsHierarchy.sampleNodesForAllLevels.slice( + 0, + end, + )) { levelSample.height = this.getColNodeHeight(levelSample); colsHierarchy.height += levelSample.height; } From 47bc8855152a7291c5eb60ef424fa594079b4dab Mon Sep 17 00:00:00 2001 From: Bran <1055025755@qq.com> Date: Thu, 11 May 2023 17:22:56 +0800 Subject: [PATCH 3/9] =?UTF-8?q?fix:=20=E8=80=83=E8=99=91=20column=20?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/s2-core/src/facet/table-facet.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/s2-core/src/facet/table-facet.ts b/packages/s2-core/src/facet/table-facet.ts index ceea6f8ce8..04a36ea9ce 100644 --- a/packages/s2-core/src/facet/table-facet.ts +++ b/packages/s2-core/src/facet/table-facet.ts @@ -334,7 +334,7 @@ export class TableFacet extends BaseFacet { const column = flattedColumns.find((item) => { return !isString(item) && item.key === field; }); - return !isString(column) && column.rowSpan; + return !isString(column) && column?.rowSpan; } /** TIP: 获取列头 Node 高度 */ From c6eee640ec94e0299af39117baf5e647c4a19d15 Mon Sep 17 00:00:00 2001 From: Bran <1055025755@qq.com> Date: Thu, 11 May 2023 17:37:48 +0800 Subject: [PATCH 4/9] =?UTF-8?q?docs:=20=E5=A2=9E=E5=8A=A0=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E8=A1=A8=20rowSpan=20=E7=A4=BA=E4=BE=8B=20demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- s2-site/examples/basic/table/demo/meta.json | 8 ++ .../demo/table-column-group-customize-cell.ts | 76 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 s2-site/examples/basic/table/demo/table-column-group-customize-cell.ts diff --git a/s2-site/examples/basic/table/demo/meta.json b/s2-site/examples/basic/table/demo/meta.json index 57336fa764..b3afacd09d 100644 --- a/s2-site/examples/basic/table/demo/meta.json +++ b/s2-site/examples/basic/table/demo/meta.json @@ -19,6 +19,14 @@ "en": "Column Group" }, "screenshot": "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*DgnhTYveL1AAAAAAAAAAAAAADmJ7AQ/original" + }, + { + "filename": "table-column-group-customize-cell.ts", + "title": { + "zh": "列分组自定义合并单元格", + "en": "Column Group Customize The Cell" + }, + "screenshot": "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*DgnhTYveL1AAAAAAAAAAAAAADmJ7AQ/original" } ] } diff --git a/s2-site/examples/basic/table/demo/table-column-group-customize-cell.ts b/s2-site/examples/basic/table/demo/table-column-group-customize-cell.ts new file mode 100644 index 0000000000..ca94ff848d --- /dev/null +++ b/s2-site/examples/basic/table/demo/table-column-group-customize-cell.ts @@ -0,0 +1,76 @@ +import { TableSheet } from '@antv/s2'; + +fetch('https://assets.antv.antgroup.com/s2/basic-table-mode.json') + .then((res) => res.json()) + .then((data) => { + const container = document.getElementById('container'); + const s2DataConfig = { + fields: { + columns: [ + { + key: 'area', + children: [ + { + rowSpan: 2, + key: 'province', + }, + { + rowSpan: 2, + key: 'city', + }, + ], + }, + 'type', + { + key: 'money', + rowSpan: 2, + children: [ + { + key: 'price', + }, + ], + }, + ], + }, + meta: [ + { + field: 'province', + name: '省份', + }, + { + field: 'city', + name: '城市', + }, + { + field: 'type', + name: '商品类别', + }, + { + field: 'price', + name: '价格', + }, + { + field: 'cost', + name: '成本', + }, + { + field: 'area', + name: '位置', + }, + { + field: 'money', + name: '金额', + }, + ], + data, + }; + + const s2Options = { + width: 600, + height: 480, + showSeriesNumber: true, + }; + const s2 = new TableSheet(container, s2DataConfig, s2Options); + + s2.render(); + }); From e13ec0477f35e485a1439767bf98431d7b20efc5 Mon Sep 17 00:00:00 2001 From: Bran <1055025755@qq.com> Date: Thu, 11 May 2023 17:59:22 +0800 Subject: [PATCH 5/9] =?UTF-8?q?docs:=20=E5=AE=8C=E5=96=84=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E8=A1=A8=20=20rowSpan=20Demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/table/demo/table-column-group-customize-cell.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/s2-site/examples/basic/table/demo/table-column-group-customize-cell.ts b/s2-site/examples/basic/table/demo/table-column-group-customize-cell.ts index ca94ff848d..1a773c1a51 100644 --- a/s2-site/examples/basic/table/demo/table-column-group-customize-cell.ts +++ b/s2-site/examples/basic/table/demo/table-column-group-customize-cell.ts @@ -9,14 +9,15 @@ fetch('https://assets.antv.antgroup.com/s2/basic-table-mode.json') columns: [ { key: 'area', + rowSpan: 1, children: [ { - rowSpan: 2, key: 'province', + rowSpan: 2, }, { - rowSpan: 2, key: 'city', + rowSpan: 2, }, ], }, @@ -27,6 +28,7 @@ fetch('https://assets.antv.antgroup.com/s2/basic-table-mode.json') children: [ { key: 'price', + rowSpan: 1, }, ], }, From e008f64efffc3b0ded545e3e66f5d738d09a8b20 Mon Sep 17 00:00:00 2001 From: Bran <1055025755@qq.com> Date: Wed, 17 May 2023 20:10:45 +0800 Subject: [PATCH 6/9] =?UTF-8?q?docs:=20=E5=88=97=E5=88=86=E7=BB=84?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E5=90=88=E5=B9=B6=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=A0=BC-=E9=A2=84=E8=A7=88=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- s2-site/examples/basic/table/demo/meta.json | 2 +- s2-site/public/rowspan.png | Bin 0 -> 118731 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 s2-site/public/rowspan.png diff --git a/s2-site/examples/basic/table/demo/meta.json b/s2-site/examples/basic/table/demo/meta.json index b3afacd09d..312d6e6891 100644 --- a/s2-site/examples/basic/table/demo/meta.json +++ b/s2-site/examples/basic/table/demo/meta.json @@ -26,7 +26,7 @@ "zh": "列分组自定义合并单元格", "en": "Column Group Customize The Cell" }, - "screenshot": "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*DgnhTYveL1AAAAAAAAAAAAAADmJ7AQ/original" + "screenshot": "/rowspan.png" } ] } diff --git a/s2-site/public/rowspan.png b/s2-site/public/rowspan.png new file mode 100644 index 0000000000000000000000000000000000000000..4ba32d8bbdb228953dd75d9c67f1562db0a484e0 GIT binary patch literal 118731 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 Date: Thu, 18 May 2023 11:48:53 +0800 Subject: [PATCH 7/9] =?UTF-8?q?test(=E6=98=8E=E7=BB=86=E8=A1=A8):=20?= =?UTF-8?q?=E5=88=97=E5=A4=B4=E8=87=AA=E5=AE=9A=E4=B9=89=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=8D=95=E5=85=83=E6=A0=BC=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/simple-table-data-rowspan.json | 50 +++++++++++++++++++ .../table-sheet-col-rowspan-spec.ts | 24 +++++++++ 2 files changed, 74 insertions(+) create mode 100644 packages/s2-core/__tests__/data/simple-table-data-rowspan.json create mode 100644 packages/s2-core/__tests__/spreadsheet/table-sheet-col-rowspan-spec.ts diff --git a/packages/s2-core/__tests__/data/simple-table-data-rowspan.json b/packages/s2-core/__tests__/data/simple-table-data-rowspan.json new file mode 100644 index 0000000000..94d5e30229 --- /dev/null +++ b/packages/s2-core/__tests__/data/simple-table-data-rowspan.json @@ -0,0 +1,50 @@ +{ + "fields": { + "columns": [ + { + "key": "price", + "rowSpan": 2, + "children": [ + { + "key": "cost", + "rowSpan": 1 + } + ] + }, + "province", + { + "key": "city", + "rowSpan": 1, + "children": [ + { + "key": "type", + "rowSpan": 2 + } + ] + } + ] + }, + "data": [ + { + "province": "浙江", + "city": "义乌", + "type": "笔", + "price": 1, + "cost": 2 + }, + { + "province": "浙江", + "city": "义乌", + "type": "笔", + "price": 1, + "cost": 2 + }, + { + "province": "浙江", + "city": "杭州", + "type": "笔", + "price": 1, + "cost": 2 + } + ] +} diff --git a/packages/s2-core/__tests__/spreadsheet/table-sheet-col-rowspan-spec.ts b/packages/s2-core/__tests__/spreadsheet/table-sheet-col-rowspan-spec.ts new file mode 100644 index 0000000000..6533186780 --- /dev/null +++ b/packages/s2-core/__tests__/spreadsheet/table-sheet-col-rowspan-spec.ts @@ -0,0 +1,24 @@ +/* + * @description spec for issue #2199 + * https://github.com/antvis/S2/issues/2199 + * 明细表: 当有冻结列 + 列分组的情况下, 会出现列头文本不居中现象 + */ +import { getContainer } from 'tests/util/helpers'; +import dataCfg from 'tests/data/simple-table-data-rowspan.json'; +import { TableSheet } from '@/sheet-type'; +import type { S2Options } from '@/common'; + +const s2Options: S2Options = { + width: 600, + height: 480, +}; + +describe('TableSheet Sort Tests', () => { + test('should be rendered based on the rowSpan', () => { + const s2 = new TableSheet(getContainer(), dataCfg, s2Options); + s2.render(); + const { height: cellHeightOfLevel0 } = s2.getColumnNodes(0).slice(-1)[0]; + const { height: cellHeightOfLevel1 } = s2.getColumnNodes(1).slice(-1)[0]; + expect(cellHeightOfLevel0 * 2).toBe(cellHeightOfLevel1); + }); +}); From e4856d2f52cd9d6a616d5be56dbcd173a59a5a04 Mon Sep 17 00:00:00 2001 From: Bran <1055025755@qq.com> Date: Thu, 18 May 2023 12:33:45 +0800 Subject: [PATCH 8/9] =?UTF-8?q?docs:=20=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__tests__/spreadsheet/table-sheet-col-rowspan-spec.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/s2-core/__tests__/spreadsheet/table-sheet-col-rowspan-spec.ts b/packages/s2-core/__tests__/spreadsheet/table-sheet-col-rowspan-spec.ts index 6533186780..b2c28f11f3 100644 --- a/packages/s2-core/__tests__/spreadsheet/table-sheet-col-rowspan-spec.ts +++ b/packages/s2-core/__tests__/spreadsheet/table-sheet-col-rowspan-spec.ts @@ -1,7 +1,7 @@ /* - * @description spec for issue #2199 - * https://github.com/antvis/S2/issues/2199 - * 明细表: 当有冻结列 + 列分组的情况下, 会出现列头文本不居中现象 + * @description spec for issue #2150 + * https://github.com/antvis/S2/issues/2150 + * 明细表-列分组增加 rowSpan 配置项, 用来支持自定义合并单元格 */ import { getContainer } from 'tests/util/helpers'; import dataCfg from 'tests/data/simple-table-data-rowspan.json'; From 1fdd09130c23ac3fabebe87788d774fc9152a182 Mon Sep 17 00:00:00 2001 From: Bran <1055025755@qq.com> Date: Fri, 26 May 2023 17:59:07 +0800 Subject: [PATCH 9/9] =?UTF-8?q?fix(=E6=98=8E=E7=BB=86=E8=A1=A8):=20?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E8=A1=A8=E5=88=97=E5=A4=B4=E9=AB=98=E5=BA=A6?= =?UTF-8?q?=E9=97=AE=E9=A2=98,=20=E5=8F=AA=E6=A0=B9=E6=8D=AE=E7=AC=AC?= =?UTF-8?q?=E4=B8=80=E5=88=97=E5=8D=95=E5=85=83=E6=A0=BC=E8=AE=A1=E7=AE=97?= =?UTF-8?q?(=E5=BF=BD=E7=95=A5=E5=BA=8F=E5=8F=B7=E5=88=97)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/s2-core/src/facet/table-facet.ts | 60 ++++++----------------- 1 file changed, 16 insertions(+), 44 deletions(-) diff --git a/packages/s2-core/src/facet/table-facet.ts b/packages/s2-core/src/facet/table-facet.ts index 04a36ea9ce..1985b9ccbc 100644 --- a/packages/s2-core/src/facet/table-facet.ts +++ b/packages/s2-core/src/facet/table-facet.ts @@ -369,39 +369,16 @@ export class TableFacet extends BaseFacet { return totalHeight; } - /** 判断 columns 中是否配置了 rowSpan */ - private isRowSpanConfiged(columns: Columns) { - return columns.some((item) => { - if (isString(item)) { - return false; - } - if (item.rowSpan) { - return true; - } - if (item.children?.length) { - const res = this.isRowSpanConfiged(item.children); - if (res) { - return true; - } - } - return false; - }); - } - - private getTreeDepth(column: string | ColumnNode) { - if (!column) { - return 0; + private getKeysOfFirstColumn(columns: Columns) { + let res = []; + const key = isString(columns?.[0]) ? columns?.[0] : columns?.[0]?.key; + if (key) { + res = res.concat(key); } - let maxDepth = 0; - if (!isString(column)) { - column?.children?.slice(0, 1)?.forEach((child) => { - const depth = this.getTreeDepth(child); - if (depth > maxDepth) { - maxDepth = depth; - } - }); + if (!isString(columns?.[0]) && columns?.[0]?.children?.length) { + res = res.concat(this.getKeysOfFirstColumn(columns?.[0]?.children)); } - return maxDepth + 1; + return res; } private calculateColNodesCoordinate( @@ -412,20 +389,15 @@ export class TableFacet extends BaseFacet { let preLeafNode = Node.blankNode(); const allNodes = colsHierarchy.getNodes(); - // 一旦设置了 rowSpan 则只根据第一列行数计算列头高度, 避免出现空白行 - const isRowSpanConfiged = this.isRowSpanConfiged(columns); - const countLines = this.getTreeDepth(columns?.[0]); - let end = colsHierarchy.sampleNodesForAllLevels.length + 1; - if (isRowSpanConfiged) { - end = countLines; - } + const keys = this.getKeysOfFirstColumn(columns); - for (const levelSample of colsHierarchy.sampleNodesForAllLevels.slice( - 0, - end, - )) { - levelSample.height = this.getColNodeHeight(levelSample); - colsHierarchy.height += levelSample.height; + const nodesOfFirstColumn = allNodes.filter((node) => { + return keys.includes(node.field); + }); + + for (const nodeSample of nodesOfFirstColumn) { + nodeSample.height = this.getColNodeHeight(nodeSample); + colsHierarchy.height += nodeSample.height; } const adaptiveColWidth = this.getAdaptiveColWidth(colLeafNodes); let currentCollIndex = 0;