@visactor/vtable 1.13.3-alpha.2 → 1.13.3-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/cjs/PivotTable.js +2 -2
  2. package/cjs/PivotTable.js.map +1 -1
  3. package/cjs/body-helper/body-helper.js +1 -1
  4. package/cjs/body-helper/style.js +2 -1
  5. package/cjs/components/index.js +1 -1
  6. package/cjs/components/react/react-custom-layout.js +1 -1
  7. package/cjs/components/react/react-custom-layout.js.map +1 -1
  8. package/cjs/core/BaseTable.d.ts +1 -1
  9. package/cjs/core/BaseTable.js +2 -2
  10. package/cjs/core/BaseTable.js.map +1 -1
  11. package/cjs/core/FouseInput.js +1 -2
  12. package/cjs/core/record-helper.js +2 -2
  13. package/cjs/core/record-helper.js.map +1 -1
  14. package/cjs/dataset/dataset-pivot-table.js +2 -1
  15. package/cjs/dataset/statistics-helper.js +0 -1
  16. package/cjs/header-helper/style.js +2 -1
  17. package/cjs/index.d.ts +1 -1
  18. package/cjs/index.js +1 -1
  19. package/cjs/index.js.map +1 -1
  20. package/cjs/layout/pivot-header-layout.js +0 -1
  21. package/cjs/plugins/chartModules.js +1 -1
  22. package/cjs/plugins/custom-cell-style.js +2 -2
  23. package/cjs/plugins/custom-cell-style.js.map +1 -1
  24. package/cjs/plugins/icons.js +1 -1
  25. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  26. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  27. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js +1 -1
  28. package/cjs/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  29. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  30. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  31. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +1 -1
  32. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  33. package/cjs/scenegraph/group-creater/progress/proxy.js +6 -6
  34. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  35. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +6 -6
  36. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  37. package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js +2 -2
  38. package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
  39. package/cjs/scenegraph/layout/compute-row-height.js +9 -13
  40. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  41. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  42. package/cjs/scenegraph/layout/update-row.js +4 -4
  43. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  44. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  45. package/cjs/scenegraph/scenegraph.js +1 -1
  46. package/cjs/scenegraph/scenegraph.js.map +1 -1
  47. package/cjs/ts-types/base-table.d.ts +1 -5
  48. package/cjs/ts-types/base-table.js.map +1 -1
  49. package/cjs/ts-types/table-engine.d.ts +4 -0
  50. package/cjs/ts-types/table-engine.js.map +1 -1
  51. package/cjs/vrender.js.map +1 -1
  52. package/dist/vtable.js +38 -47
  53. package/dist/vtable.min.js +2 -2
  54. package/es/PivotTable.js +2 -2
  55. package/es/PivotTable.js.map +1 -1
  56. package/es/body-helper/body-helper.js +1 -1
  57. package/es/body-helper/style.js +2 -1
  58. package/es/components/index.js +1 -1
  59. package/es/components/react/react-custom-layout.js +1 -1
  60. package/es/components/react/react-custom-layout.js.map +1 -1
  61. package/es/core/BaseTable.d.ts +1 -1
  62. package/es/core/BaseTable.js +2 -2
  63. package/es/core/BaseTable.js.map +1 -1
  64. package/es/core/FouseInput.js +1 -2
  65. package/es/core/record-helper.js +2 -2
  66. package/es/core/record-helper.js.map +1 -1
  67. package/es/dataset/dataset-pivot-table.js +2 -1
  68. package/es/dataset/statistics-helper.js +1 -2
  69. package/es/header-helper/style.js +2 -1
  70. package/es/index.d.ts +1 -1
  71. package/es/index.js +1 -1
  72. package/es/index.js.map +1 -1
  73. package/es/layout/pivot-header-layout.js +1 -2
  74. package/es/plugins/chartModules.js +1 -1
  75. package/es/plugins/custom-cell-style.js +3 -3
  76. package/es/plugins/custom-cell-style.js.map +1 -1
  77. package/es/plugins/icons.js +1 -1
  78. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  79. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  80. package/es/scenegraph/group-creater/cell-type/radio-cell.js +1 -1
  81. package/es/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
  82. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  83. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  84. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +1 -1
  85. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  86. package/es/scenegraph/group-creater/progress/proxy.js +6 -6
  87. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  88. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +6 -6
  89. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  90. package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js +2 -2
  91. package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
  92. package/es/scenegraph/layout/compute-row-height.js +9 -13
  93. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  94. package/es/scenegraph/layout/update-height.js.map +1 -1
  95. package/es/scenegraph/layout/update-row.js +4 -4
  96. package/es/scenegraph/layout/update-row.js.map +1 -1
  97. package/es/scenegraph/layout/update-width.js.map +1 -1
  98. package/es/scenegraph/scenegraph.js +1 -1
  99. package/es/scenegraph/scenegraph.js.map +1 -1
  100. package/es/ts-types/base-table.d.ts +1 -5
  101. package/es/ts-types/base-table.js.map +1 -1
  102. package/es/ts-types/table-engine.d.ts +4 -0
  103. package/es/ts-types/table-engine.js.map +1 -1
  104. package/es/vrender.js.map +1 -1
  105. package/package.json +2 -2
@@ -62,7 +62,7 @@ function moveCell(count, direction, screenTopRow, screenTopY, y, proxy) {
62
62
  count < proxy.rowEnd - proxy.rowStart) {
63
63
  const startRow = "up" === direction ? proxy.rowStart : proxy.rowEnd - count + 1, endRow = "up" === direction ? proxy.rowStart + count - 1 : proxy.rowEnd, distStartRow = "up" === direction ? proxy.rowEnd + 1 : proxy.rowStart - count, distEndRow = "up" === direction ? proxy.rowEnd + count : proxy.rowStart - 1;
64
64
  let syncTopRow, syncBottomRow;
65
- if (proxy.table.isAutoRowHeight()) syncTopRow = distStartRow, syncBottomRow = distEndRow; else {
65
+ if ("autoHeight" === proxy.table.heightMode) syncTopRow = distStartRow, syncBottomRow = distEndRow; else {
66
66
  syncTopRow = Math.max(proxy.bodyTopRow, screenTopRow - 1 * proxy.screenRowCount),
67
67
  syncBottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + 2 * proxy.screenRowCount, proxy.table.rowCount - 1);
68
68
  }
@@ -70,31 +70,31 @@ function moveCell(count, direction, screenTopRow, screenTopY, y, proxy) {
70
70
  updatePartRowPosition(startRow, endRow, direction, proxy), proxy.rowStart = "up" === direction ? proxy.rowStart + count : proxy.rowStart - count,
71
71
  proxy.rowEnd = "up" === direction ? proxy.rowEnd + count : proxy.rowEnd - count;
72
72
  const sync = updateRowContent(syncTopRow, syncBottomRow, proxy, !0);
73
- proxy.table.isAutoRowHeight() && ((0, update_auto_row_1.updateAutoRow)(proxy.bodyLeftCol, proxy.bodyRightCol, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up", !0),
73
+ "autoHeight" === proxy.table.heightMode && ((0, update_auto_row_1.updateAutoRow)(proxy.bodyLeftCol, proxy.bodyRightCol, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up", !0),
74
74
  (0, update_auto_row_1.updateAutoRow)(0, proxy.table.frozenColCount - 1, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up", !0),
75
75
  (0, update_auto_row_1.updateAutoRow)(proxy.table.colCount - proxy.table.rightFrozenColCount, proxy.table.colCount - 1, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up", !0)),
76
76
  proxy.currentRow = "up" === direction ? proxy.currentRow + count : proxy.currentRow - count,
77
77
  proxy.totalRow = Math.max(0, Math.min(proxy.bodyBottomRow, "up" === direction ? proxy.totalRow + count : proxy.totalRow - count, proxy.table.rowCount - 1)),
78
78
  proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2),
79
- proxy.table.isAutoRowHeight() && sync ? proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, proxy.rowEnd + 1) : proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, distStartRow),
79
+ "autoHeight" === proxy.table.heightMode && sync ? proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, proxy.rowEnd + 1) : proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, distStartRow),
80
80
  proxy.rowUpdateDirection = direction, proxy.table.scenegraph.updateNextFrame(),
81
81
  yield proxy.progress();
82
82
  } else {
83
83
  const distStartRow = "up" === direction ? proxy.rowStart + count : proxy.rowStart - count, distEndRow = Math.min(proxy.table.rowCount - 1, "up" === direction ? proxy.rowEnd + count : proxy.rowEnd - count), distStartRowY = proxy.table.getRowsHeight(proxy.bodyTopRow, distStartRow - 1);
84
84
  let syncTopRow, syncBottomRow;
85
- proxy.table.isAutoRowHeight() ? (syncTopRow = distStartRow, syncBottomRow = distEndRow) : (syncTopRow = Math.max(proxy.bodyTopRow, screenTopRow - 1 * proxy.screenRowCount),
85
+ "autoHeight" === proxy.table.heightMode ? (syncTopRow = distStartRow, syncBottomRow = distEndRow) : (syncTopRow = Math.max(proxy.bodyTopRow, screenTopRow - 1 * proxy.screenRowCount),
86
86
  syncBottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + 2 * proxy.screenRowCount, proxy.table.rowCount - 1)),
87
87
  (0, compute_row_height_1.computeRowsHeight)(proxy.table, syncTopRow, syncBottomRow, !1),
88
88
  updateAllRowPosition(distStartRowY, count, direction, proxy), proxy.rowStart = distStartRow,
89
89
  proxy.rowEnd = distEndRow;
90
90
  const sync = updateRowContent(syncTopRow, syncBottomRow, proxy, !0);
91
- proxy.table.isAutoRowHeight() && ((0, update_auto_row_1.updateAutoRow)(proxy.bodyLeftCol, proxy.bodyRightCol, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up"),
91
+ "autoHeight" === proxy.table.heightMode && ((0, update_auto_row_1.updateAutoRow)(proxy.bodyLeftCol, proxy.bodyRightCol, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up"),
92
92
  (0, update_auto_row_1.updateAutoRow)(0, proxy.table.frozenColCount - 1, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up"),
93
93
  (0, update_auto_row_1.updateAutoRow)(proxy.table.colCount - proxy.table.rightFrozenColCount, proxy.table.colCount - 1, syncTopRow, syncBottomRow, proxy.table, distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up")),
94
94
  proxy.currentRow = "up" === direction ? proxy.currentRow + count : proxy.currentRow - count,
95
95
  proxy.totalRow = Math.max(0, Math.min(proxy.bodyBottomRow, "up" === direction ? proxy.totalRow + count : proxy.totalRow - count, proxy.table.rowCount - 1)),
96
96
  proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2),
97
- proxy.table.isAutoRowHeight() && sync ? proxy.rowUpdatePos = proxy.rowEnd + 1 : proxy.rowUpdatePos = proxy.rowStart,
97
+ "autoHeight" === proxy.table.heightMode && sync ? proxy.rowUpdatePos = proxy.rowEnd + 1 : proxy.rowUpdatePos = proxy.rowStart,
98
98
  proxy.rowUpdateDirection = distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up",
99
99
  proxy.table.scenegraph.updateNextFrame(), yield proxy.progress();
100
100
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/group-creater/progress/update-position/dynamic-set-y.ts"],"names":[],"mappings":"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","file":"dynamic-set-y.js","sourcesContent":["import type { RowInfo } from '../../../../ts-types';\nimport type { Group } from '../../../graphic/group';\nimport { computeRowsHeight } from '../../../layout/compute-row-height';\nimport type { SceneProxy } from '../proxy';\nimport { updateAutoRow } from './update-auto-row';\n\nexport async function dynamicSetY(y: number, screenTop: RowInfo | null, isEnd: boolean, proxy: SceneProxy) {\n if (!screenTop) {\n return;\n }\n const screenTopRow = screenTop.row;\n const screenTopY = screenTop.top;\n\n let deltaRow;\n if (isEnd) {\n deltaRow = proxy.bodyBottomRow - proxy.rowEnd;\n } else {\n deltaRow = screenTopRow - proxy.referenceRow;\n }\n move(deltaRow, screenTopRow, screenTopY, y, proxy);\n if (isEnd) {\n const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, proxy.rowEnd, true);\n if (cellGroup.role === 'cell') {\n const deltaY =\n cellGroup.attribute.y +\n cellGroup.attribute.height -\n (proxy.table.tableNoFrameHeight - proxy.table.getFrozenRowsHeight() - proxy.table.getBottomFrozenRowsHeight()) -\n y;\n proxy.deltaY = -deltaY;\n proxy.updateBody(y - proxy.deltaY);\n }\n }\n // proxy.table.scenegraph.updateNextFrame();\n}\n\nfunction move(deltaRow: number, screenTopRow: number, screenTopY: number, y: number, proxy: SceneProxy) {\n if (deltaRow > 0) {\n // 向下滚动,顶部cell group移到底部\n moveCell(deltaRow, 'up', screenTopRow, screenTopY, y, proxy);\n proxy.updateDeltaY(y, screenTopY, screenTopRow);\n proxy.updateBody(y - proxy.deltaY);\n } else if (deltaRow < 0) {\n // 向上滚动,底部cell group移到顶部\n moveCell(-deltaRow, 'down', screenTopRow, screenTopY, y, proxy);\n proxy.updateDeltaY(y, screenTopY, screenTopRow);\n proxy.updateBody(y - proxy.deltaY);\n } else {\n // 不改变row,更新body group范围\n proxy.updateDeltaY(y, screenTopY, screenTopRow);\n proxy.updateBody(y - proxy.deltaY);\n }\n}\n\nasync function moveCell(\n count: number,\n direction: 'up' | 'down',\n screenTopRow: number,\n screenTopY: number,\n y: number,\n proxy: SceneProxy\n) {\n // 限制count范围\n if (direction === 'up' && proxy.rowEnd + count > proxy.bodyBottomRow) {\n count = proxy.bodyBottomRow - proxy.rowEnd;\n } else if (direction === 'down' && proxy.rowStart - count < proxy.bodyTopRow) {\n count = proxy.rowStart - proxy.bodyTopRow;\n }\n if (count === 0) {\n return;\n }\n if (count < 0) {\n direction = direction === 'up' ? 'down' : 'up';\n count = -count;\n }\n\n // 两种更新模式\n // 1. count < rowEnd - rowStart:从顶/底部移动count数量的单元格到底/顶部\n // 2. count >= rowEnd - rowStart:整体移动到目标位置\n if (count < proxy.rowEnd - proxy.rowStart) {\n // 计算更新区域\n const startRow = direction === 'up' ? proxy.rowStart : proxy.rowEnd - count + 1;\n const endRow = direction === 'up' ? proxy.rowStart + count - 1 : proxy.rowEnd;\n const distStartRow = direction === 'up' ? proxy.rowEnd + 1 : proxy.rowStart - count;\n const distEndRow = direction === 'up' ? proxy.rowEnd + count : proxy.rowStart - 1;\n\n // 更新同步范围\n let syncTopRow;\n let syncBottomRow;\n if (proxy.table.isAutoRowHeight()) {\n syncTopRow = distStartRow;\n syncBottomRow = distEndRow;\n } else {\n const topRow = Math.max(proxy.bodyTopRow, screenTopRow - proxy.screenRowCount * 1);\n const bottomRow = Math.min(\n proxy.bodyBottomRow,\n screenTopRow + proxy.screenRowCount * 2,\n proxy.table.rowCount - 1\n );\n // get coincide of distStartRow&distEndRow and topRow&BottomRow\n // syncTopRow = Math.max(distStartRow, topRow);\n // syncBottomRow = Math.min(distEndRow, bottomRow);\n syncTopRow = topRow;\n syncBottomRow = bottomRow;\n }\n\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow, false);\n\n updatePartRowPosition(startRow, endRow, direction, proxy);\n\n proxy.rowStart = direction === 'up' ? proxy.rowStart + count : proxy.rowStart - count;\n proxy.rowEnd = direction === 'up' ? proxy.rowEnd + count : proxy.rowEnd - count;\n\n // 本次行更新是否同步完成,列数超过limit时为false\n const sync = updateRowContent(syncTopRow, syncBottomRow, proxy, true);\n\n if (proxy.table.isAutoRowHeight()) {\n // body group\n updateAutoRow(\n proxy.bodyLeftCol, // colStart\n proxy.bodyRightCol, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // row header group\n updateAutoRow(\n 0, // colStart\n proxy.table.frozenColCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // right frozen group\n updateAutoRow(\n proxy.table.colCount - proxy.table.rightFrozenColCount, // colStart\n proxy.table.colCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // const oldCellOffset = screenTopY - y - proxy.table.getFrozenRowsHeight();\n // console.log('cellOffset', screenTopY, screenTopRow);\n // const newScreenTop = (proxy.table as any).getTargetRowAt(\n // y + proxy.table.scenegraph.colHeaderGroup.attribute.height\n // );\n // console.log('newScreenTop', newScreenTop);\n // const cellOffset = newScreenTop.top - screenTopY;\n\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, screenTopRow, true);\n // const deltaY =\n // newScreenTop.top -\n // cellOffset -\n // (cellGroup.attribute.y + proxy.table.getFrozenRowsHeight() + proxy.table.scenegraph.proxy.deltaY);\n // proxy.table.scenegraph.proxy.deltaY += deltaY;\n }\n\n proxy.currentRow = direction === 'up' ? proxy.currentRow + count : proxy.currentRow - count;\n proxy.totalRow = Math.max(\n 0,\n Math.min(\n proxy.bodyBottomRow,\n direction === 'up' ? proxy.totalRow + count : proxy.totalRow - count,\n proxy.table.rowCount - 1\n )\n );\n proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2);\n // proxy.referenceRow = screenTopRow;\n // proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, distStartRow);\n if (proxy.table.isAutoRowHeight() && sync) {\n proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, proxy.rowEnd + 1);\n } else {\n proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, distStartRow);\n }\n proxy.rowUpdateDirection = direction;\n\n proxy.table.scenegraph.updateNextFrame();\n await proxy.progress();\n } else {\n const distStartRow = direction === 'up' ? proxy.rowStart + count : proxy.rowStart - count;\n const distEndRow = Math.min(\n proxy.table.rowCount - 1,\n direction === 'up' ? proxy.rowEnd + count : proxy.rowEnd - count\n );\n const distStartRowY = proxy.table.getRowsHeight(proxy.bodyTopRow, distStartRow - 1);\n\n let syncTopRow;\n let syncBottomRow;\n if (proxy.table.isAutoRowHeight()) {\n syncTopRow = distStartRow;\n syncBottomRow = distEndRow;\n } else {\n syncTopRow = Math.max(proxy.bodyTopRow, screenTopRow - proxy.screenRowCount * 1);\n syncBottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + proxy.screenRowCount * 2, proxy.table.rowCount - 1);\n }\n\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow, false);\n\n // 更新同步范围\n updateAllRowPosition(distStartRowY, count, direction, proxy);\n\n proxy.rowStart = distStartRow;\n proxy.rowEnd = distEndRow;\n\n const sync = updateRowContent(syncTopRow, syncBottomRow, proxy, true);\n\n if (proxy.table.isAutoRowHeight()) {\n // body group\n updateAutoRow(\n proxy.bodyLeftCol, // colStart\n proxy.bodyRightCol, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n\n // row header group\n updateAutoRow(\n 0, // colStart\n proxy.table.frozenColCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n\n // right frozen group\n updateAutoRow(\n proxy.table.colCount - proxy.table.rightFrozenColCount, // colStart\n proxy.table.colCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n }\n\n // // update body position when click scroll bar\n // if (syncTopRow === proxy.bodyTopRow) {\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, syncTopRow, true);\n // const deltaY = cellGroup.attribute.y - y;\n // proxy.table.scenegraph.proxy.deltaY = deltaY;\n // } else if (syncBottomRow === proxy.bodyBottomRow) {\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, syncBottomRow, true);\n // const deltaY =\n // cellGroup.attribute.y +\n // cellGroup.attribute.height -\n // (proxy.table.tableNoFrameHeight - proxy.table.getFrozenRowsHeight()) -\n // y;\n // proxy.table.scenegraph.proxy.deltaY = -deltaY;\n // } else {\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, screenTopRow, true);\n // const deltaY =\n // screenTopY - (cellGroup.attribute.y + proxy.table.getFrozenRowsHeight() + proxy.table.scenegraph.proxy.deltaY);\n // proxy.table.scenegraph.proxy.deltaY = deltaY;\n // }\n\n proxy.currentRow = direction === 'up' ? proxy.currentRow + count : proxy.currentRow - count;\n proxy.totalRow = Math.max(\n 0,\n Math.min(\n proxy.bodyBottomRow,\n direction === 'up' ? proxy.totalRow + count : proxy.totalRow - count,\n proxy.table.rowCount - 1\n )\n );\n proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2);\n // proxy.referenceRow = screenTopRow;\n if (proxy.table.isAutoRowHeight() && sync) {\n proxy.rowUpdatePos = proxy.rowEnd + 1;\n } else {\n proxy.rowUpdatePos = proxy.rowStart;\n }\n proxy.rowUpdateDirection = distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up';\n\n proxy.table.scenegraph.updateNextFrame();\n await proxy.progress();\n }\n}\n\nfunction updatePartRowPosition(startRow: number, endRow: number, direction: 'up' | 'down', proxy: SceneProxy) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (!colGroup) {\n continue;\n }\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (!colGroup) {\n continue;\n }\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n // body group\n for (let col = proxy.bodyLeftCol; col <= proxy.bodyRightCol; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (colGroup) {\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n }\n}\n\nfunction updateCellGroupPosition(colGroup: Group, direction: 'up' | 'down', proxy: SceneProxy) {\n if (colGroup.childrenCount >= 1) {\n if (direction === 'up') {\n const cellGroup = colGroup.firstChild as Group;\n proxy.updateCellGroupPosition(\n cellGroup,\n (colGroup.lastChild as Group).row + 1,\n (colGroup.lastChild as Group).attribute.y + proxy.table.getRowHeight((colGroup.lastChild as Group).row) // (colGroup.lastChild as Group).attribute.height\n );\n colGroup.appendChild(cellGroup);\n } else {\n const cellGroup = colGroup.lastChild as Group;\n proxy.updateCellGroupPosition(\n cellGroup,\n (colGroup.firstChild as Group).row - 1,\n (colGroup.firstChild as Group).attribute.y - proxy.table.getRowHeight((cellGroup as Group).row) // cellGroup.attribute.height\n );\n colGroup.insertBefore(cellGroup, colGroup.firstChild);\n }\n }\n}\n\nfunction updateAllRowPosition(distStartRowY: number, count: number, direction: 'up' | 'down', proxy: SceneProxy) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n // body group\n for (let col = proxy.bodyLeftCol; col <= proxy.bodyRightCol; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n}\n\nexport function updateRowContent(syncTopRow: number, syncBottomRow: number, proxy: SceneProxy, async = false) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row, true);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n // body group\n let leftCol = proxy.bodyLeftCol;\n let rightCol = proxy.bodyRightCol;\n let sync = true;\n if (async) {\n const screenLeftCol = proxy.screenLeftCol;\n leftCol = Math.max(proxy.bodyLeftCol, screenLeftCol - proxy.screenColCount * 1);\n rightCol = Math.min(proxy.bodyRightCol, screenLeftCol + proxy.screenColCount * 2);\n if (leftCol !== proxy.bodyLeftCol || rightCol !== proxy.bodyRightCol) {\n sync = false;\n }\n }\n for (let col = leftCol; col <= rightCol; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n proxy.table.scenegraph.updateNextFrame();\n\n return sync;\n}\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/group-creater/progress/update-position/dynamic-set-y.ts"],"names":[],"mappings":"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","file":"dynamic-set-y.js","sourcesContent":["import type { RowInfo } from '../../../../ts-types';\nimport type { Group } from '../../../graphic/group';\nimport { computeRowsHeight } from '../../../layout/compute-row-height';\nimport type { SceneProxy } from '../proxy';\nimport { updateAutoRow } from './update-auto-row';\n\nexport async function dynamicSetY(y: number, screenTop: RowInfo | null, isEnd: boolean, proxy: SceneProxy) {\n if (!screenTop) {\n return;\n }\n const screenTopRow = screenTop.row;\n const screenTopY = screenTop.top;\n\n let deltaRow;\n if (isEnd) {\n deltaRow = proxy.bodyBottomRow - proxy.rowEnd;\n } else {\n deltaRow = screenTopRow - proxy.referenceRow;\n }\n move(deltaRow, screenTopRow, screenTopY, y, proxy);\n if (isEnd) {\n const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, proxy.rowEnd, true);\n if (cellGroup.role === 'cell') {\n const deltaY =\n cellGroup.attribute.y +\n cellGroup.attribute.height -\n (proxy.table.tableNoFrameHeight - proxy.table.getFrozenRowsHeight() - proxy.table.getBottomFrozenRowsHeight()) -\n y;\n proxy.deltaY = -deltaY;\n proxy.updateBody(y - proxy.deltaY);\n }\n }\n // proxy.table.scenegraph.updateNextFrame();\n}\n\nfunction move(deltaRow: number, screenTopRow: number, screenTopY: number, y: number, proxy: SceneProxy) {\n if (deltaRow > 0) {\n // 向下滚动,顶部cell group移到底部\n moveCell(deltaRow, 'up', screenTopRow, screenTopY, y, proxy);\n proxy.updateDeltaY(y, screenTopY, screenTopRow);\n proxy.updateBody(y - proxy.deltaY);\n } else if (deltaRow < 0) {\n // 向上滚动,底部cell group移到顶部\n moveCell(-deltaRow, 'down', screenTopRow, screenTopY, y, proxy);\n proxy.updateDeltaY(y, screenTopY, screenTopRow);\n proxy.updateBody(y - proxy.deltaY);\n } else {\n // 不改变row,更新body group范围\n proxy.updateDeltaY(y, screenTopY, screenTopRow);\n proxy.updateBody(y - proxy.deltaY);\n }\n}\n\nasync function moveCell(\n count: number,\n direction: 'up' | 'down',\n screenTopRow: number,\n screenTopY: number,\n y: number,\n proxy: SceneProxy\n) {\n // 限制count范围\n if (direction === 'up' && proxy.rowEnd + count > proxy.bodyBottomRow) {\n count = proxy.bodyBottomRow - proxy.rowEnd;\n } else if (direction === 'down' && proxy.rowStart - count < proxy.bodyTopRow) {\n count = proxy.rowStart - proxy.bodyTopRow;\n }\n if (count === 0) {\n return;\n }\n if (count < 0) {\n direction = direction === 'up' ? 'down' : 'up';\n count = -count;\n }\n\n // 两种更新模式\n // 1. count < rowEnd - rowStart:从顶/底部移动count数量的单元格到底/顶部\n // 2. count >= rowEnd - rowStart:整体移动到目标位置\n if (count < proxy.rowEnd - proxy.rowStart) {\n // 计算更新区域\n const startRow = direction === 'up' ? proxy.rowStart : proxy.rowEnd - count + 1;\n const endRow = direction === 'up' ? proxy.rowStart + count - 1 : proxy.rowEnd;\n const distStartRow = direction === 'up' ? proxy.rowEnd + 1 : proxy.rowStart - count;\n const distEndRow = direction === 'up' ? proxy.rowEnd + count : proxy.rowStart - 1;\n\n // 更新同步范围\n let syncTopRow;\n let syncBottomRow;\n if (proxy.table.heightMode === 'autoHeight') {\n syncTopRow = distStartRow;\n syncBottomRow = distEndRow;\n } else {\n const topRow = Math.max(proxy.bodyTopRow, screenTopRow - proxy.screenRowCount * 1);\n const bottomRow = Math.min(\n proxy.bodyBottomRow,\n screenTopRow + proxy.screenRowCount * 2,\n proxy.table.rowCount - 1\n );\n // get coincide of distStartRow&distEndRow and topRow&BottomRow\n // syncTopRow = Math.max(distStartRow, topRow);\n // syncBottomRow = Math.min(distEndRow, bottomRow);\n syncTopRow = topRow;\n syncBottomRow = bottomRow;\n }\n\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow, false);\n\n updatePartRowPosition(startRow, endRow, direction, proxy);\n\n proxy.rowStart = direction === 'up' ? proxy.rowStart + count : proxy.rowStart - count;\n proxy.rowEnd = direction === 'up' ? proxy.rowEnd + count : proxy.rowEnd - count;\n\n // 本次行更新是否同步完成,列数超过limit时为false\n const sync = updateRowContent(syncTopRow, syncBottomRow, proxy, true);\n\n if (proxy.table.heightMode === 'autoHeight') {\n // body group\n updateAutoRow(\n proxy.bodyLeftCol, // colStart\n proxy.bodyRightCol, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // row header group\n updateAutoRow(\n 0, // colStart\n proxy.table.frozenColCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // right frozen group\n updateAutoRow(\n proxy.table.colCount - proxy.table.rightFrozenColCount, // colStart\n proxy.table.colCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up', // 跳转到底部时,从下向上对齐\n true\n );\n\n // const oldCellOffset = screenTopY - y - proxy.table.getFrozenRowsHeight();\n // console.log('cellOffset', screenTopY, screenTopRow);\n // const newScreenTop = (proxy.table as any).getTargetRowAt(\n // y + proxy.table.scenegraph.colHeaderGroup.attribute.height\n // );\n // console.log('newScreenTop', newScreenTop);\n // const cellOffset = newScreenTop.top - screenTopY;\n\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, screenTopRow, true);\n // const deltaY =\n // newScreenTop.top -\n // cellOffset -\n // (cellGroup.attribute.y + proxy.table.getFrozenRowsHeight() + proxy.table.scenegraph.proxy.deltaY);\n // proxy.table.scenegraph.proxy.deltaY += deltaY;\n }\n\n proxy.currentRow = direction === 'up' ? proxy.currentRow + count : proxy.currentRow - count;\n proxy.totalRow = Math.max(\n 0,\n Math.min(\n proxy.bodyBottomRow,\n direction === 'up' ? proxy.totalRow + count : proxy.totalRow - count,\n proxy.table.rowCount - 1\n )\n );\n proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2);\n // proxy.referenceRow = screenTopRow;\n // proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, distStartRow);\n if (proxy.table.heightMode === 'autoHeight' && sync) {\n proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, proxy.rowEnd + 1);\n } else {\n proxy.rowUpdatePos = Math.min(proxy.rowUpdatePos, distStartRow);\n }\n proxy.rowUpdateDirection = direction;\n\n proxy.table.scenegraph.updateNextFrame();\n await proxy.progress();\n } else {\n const distStartRow = direction === 'up' ? proxy.rowStart + count : proxy.rowStart - count;\n const distEndRow = Math.min(\n proxy.table.rowCount - 1,\n direction === 'up' ? proxy.rowEnd + count : proxy.rowEnd - count\n );\n const distStartRowY = proxy.table.getRowsHeight(proxy.bodyTopRow, distStartRow - 1);\n\n let syncTopRow;\n let syncBottomRow;\n if (proxy.table.heightMode === 'autoHeight') {\n syncTopRow = distStartRow;\n syncBottomRow = distEndRow;\n } else {\n syncTopRow = Math.max(proxy.bodyTopRow, screenTopRow - proxy.screenRowCount * 1);\n syncBottomRow = Math.min(proxy.bodyBottomRow, screenTopRow + proxy.screenRowCount * 2, proxy.table.rowCount - 1);\n }\n\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow, false);\n\n // 更新同步范围\n updateAllRowPosition(distStartRowY, count, direction, proxy);\n\n proxy.rowStart = distStartRow;\n proxy.rowEnd = distEndRow;\n\n const sync = updateRowContent(syncTopRow, syncBottomRow, proxy, true);\n\n if (proxy.table.heightMode === 'autoHeight') {\n // body group\n updateAutoRow(\n proxy.bodyLeftCol, // colStart\n proxy.bodyRightCol, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n\n // row header group\n updateAutoRow(\n 0, // colStart\n proxy.table.frozenColCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n\n // right frozen group\n updateAutoRow(\n proxy.table.colCount - proxy.table.rightFrozenColCount, // colStart\n proxy.table.colCount - 1, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n }\n\n // // update body position when click scroll bar\n // if (syncTopRow === proxy.bodyTopRow) {\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, syncTopRow, true);\n // const deltaY = cellGroup.attribute.y - y;\n // proxy.table.scenegraph.proxy.deltaY = deltaY;\n // } else if (syncBottomRow === proxy.bodyBottomRow) {\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, syncBottomRow, true);\n // const deltaY =\n // cellGroup.attribute.y +\n // cellGroup.attribute.height -\n // (proxy.table.tableNoFrameHeight - proxy.table.getFrozenRowsHeight()) -\n // y;\n // proxy.table.scenegraph.proxy.deltaY = -deltaY;\n // } else {\n // const cellGroup = proxy.table.scenegraph.highPerformanceGetCell(proxy.colStart, screenTopRow, true);\n // const deltaY =\n // screenTopY - (cellGroup.attribute.y + proxy.table.getFrozenRowsHeight() + proxy.table.scenegraph.proxy.deltaY);\n // proxy.table.scenegraph.proxy.deltaY = deltaY;\n // }\n\n proxy.currentRow = direction === 'up' ? proxy.currentRow + count : proxy.currentRow - count;\n proxy.totalRow = Math.max(\n 0,\n Math.min(\n proxy.bodyBottomRow,\n direction === 'up' ? proxy.totalRow + count : proxy.totalRow - count,\n proxy.table.rowCount - 1\n )\n );\n proxy.referenceRow = proxy.rowStart + Math.floor((proxy.rowEnd - proxy.rowStart) / 2);\n // proxy.referenceRow = screenTopRow;\n if (proxy.table.heightMode === 'autoHeight' && sync) {\n proxy.rowUpdatePos = proxy.rowEnd + 1;\n } else {\n proxy.rowUpdatePos = proxy.rowStart;\n }\n proxy.rowUpdateDirection = distEndRow > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up';\n\n proxy.table.scenegraph.updateNextFrame();\n await proxy.progress();\n }\n}\n\nfunction updatePartRowPosition(startRow: number, endRow: number, direction: 'up' | 'down', proxy: SceneProxy) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (!colGroup) {\n continue;\n }\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (!colGroup) {\n continue;\n }\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n // body group\n for (let col = proxy.bodyLeftCol; col <= proxy.bodyRightCol; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n if (colGroup) {\n for (let row = startRow; row <= endRow; row++) {\n updateCellGroupPosition(colGroup, direction, proxy);\n }\n }\n }\n}\n\nfunction updateCellGroupPosition(colGroup: Group, direction: 'up' | 'down', proxy: SceneProxy) {\n if (colGroup.childrenCount >= 1) {\n if (direction === 'up') {\n const cellGroup = colGroup.firstChild as Group;\n proxy.updateCellGroupPosition(\n cellGroup,\n (colGroup.lastChild as Group).row + 1,\n (colGroup.lastChild as Group).attribute.y + proxy.table.getRowHeight((colGroup.lastChild as Group).row) // (colGroup.lastChild as Group).attribute.height\n );\n colGroup.appendChild(cellGroup);\n } else {\n const cellGroup = colGroup.lastChild as Group;\n proxy.updateCellGroupPosition(\n cellGroup,\n (colGroup.firstChild as Group).row - 1,\n (colGroup.firstChild as Group).attribute.y - proxy.table.getRowHeight((cellGroup as Group).row) // cellGroup.attribute.height\n );\n colGroup.insertBefore(cellGroup, colGroup.firstChild);\n }\n }\n}\n\nfunction updateAllRowPosition(distStartRowY: number, count: number, direction: 'up' | 'down', proxy: SceneProxy) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n // body group\n for (let col = proxy.bodyLeftCol; col <= proxy.bodyRightCol; col++) {\n const colGroup = proxy.table.scenegraph.getColGroup(col);\n colGroup?.forEachChildren((cellGroup: Group, index) => {\n // 这里使用colGroup变量而不是for proxy.rowStart to proxy.rowEndproxy.rowEnd是因为在更新内可能出现row号码重复的情况\n proxy.updateCellGroupPosition(\n cellGroup,\n direction === 'up' ? cellGroup.row + count : cellGroup.row - count,\n index === 0 // row === proxy.rowStart\n ? distStartRowY\n : (cellGroup._prev as Group).attribute.y + proxy.table.getRowHeight((cellGroup._prev as Group).row)\n );\n });\n }\n}\n\nexport function updateRowContent(syncTopRow: number, syncBottomRow: number, proxy: SceneProxy, async = false) {\n // row header group\n for (let col = 0; col < proxy.table.frozenColCount; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row, true);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n // right frozen group\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n // body group\n let leftCol = proxy.bodyLeftCol;\n let rightCol = proxy.bodyRightCol;\n let sync = true;\n if (async) {\n const screenLeftCol = proxy.screenLeftCol;\n leftCol = Math.max(proxy.bodyLeftCol, screenLeftCol - proxy.screenColCount * 1);\n rightCol = Math.min(proxy.bodyRightCol, screenLeftCol + proxy.screenColCount * 2);\n if (leftCol !== proxy.bodyLeftCol || rightCol !== proxy.bodyRightCol) {\n sync = false;\n }\n }\n for (let col = leftCol; col <= rightCol; col++) {\n for (let row = syncTopRow; row <= syncBottomRow; row++) {\n // const cellGroup = proxy.table.scenegraph.getCell(col, row);\n const cellGroup = proxy.highPerformanceGetCell(col, row);\n proxy.updateCellGroupContent(cellGroup);\n }\n }\n proxy.table.scenegraph.updateNextFrame();\n\n return sync;\n}\n"]}
@@ -40,7 +40,7 @@ function sortVertical(proxy) {
40
40
  "group" === colGroup.type && (colGroup.needUpdate = !0, null == colGroup || colGroup.forEachChildren((cellGroup => {
41
41
  cellGroup.needUpdate = !0;
42
42
  })));
43
- })), proxy.table.isAutoRowHeight() ? (syncTopRow = proxy.rowStart, syncBottomRow = proxy.rowEnd) : (syncTopRow = Math.max(proxy.bodyTopRow, proxy.screenTopRow - 1 * proxy.screenRowCount),
43
+ })), "autoHeight" === proxy.table.heightMode ? (syncTopRow = proxy.rowStart, syncBottomRow = proxy.rowEnd) : (syncTopRow = Math.max(proxy.bodyTopRow, proxy.screenTopRow - 1 * proxy.screenRowCount),
44
44
  syncBottomRow = Math.min(proxy.bodyBottomRow, proxy.screenTopRow + 2 * proxy.screenRowCount, proxy.table.rowCount - 1));
45
45
  const oldBodyHeight = proxy.table.getAllRowsHeight();
46
46
  (0, compute_row_height_1.computeRowsHeight)(proxy.table, syncTopRow, syncBottomRow);
@@ -63,7 +63,7 @@ function sortVertical(proxy) {
63
63
  for (let row = proxy.rowStart; row <= proxy.rowEnd; row++) proxy.table.scenegraph.updateCellContent(col, row);
64
64
  for (let row = proxy.table.rowCount - proxy.table.bottomFrozenRowCount; row < proxy.table.rowCount; row++) proxy.table.scenegraph.updateCellContent(col, row);
65
65
  }
66
- (0, dynamic_set_y_1.updateRowContent)(syncTopRow, syncBottomRow, proxy), proxy.table.isAutoRowHeight() && (0,
66
+ (0, dynamic_set_y_1.updateRowContent)(syncTopRow, syncBottomRow, proxy), "autoHeight" === proxy.table.heightMode && (0,
67
67
  update_auto_row_1.updateAutoRow)(proxy.bodyLeftCol, proxy.bodyRightCol, syncTopRow, syncBottomRow, proxy.table, proxy.rowEnd > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up"),
68
68
  proxy.rowUpdatePos = proxy.rowStart, proxy.rowUpdateDirection = proxy.rowEnd > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up",
69
69
  proxy.table.scenegraph.updateNextFrame(), "autoHeight" !== proxy.table.heightMode && (yield proxy.progress());
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/group-creater/progress/update-position/sort-vertical.ts"],"names":[],"mappings":"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","file":"sort-vertical.js","sourcesContent":["import type { Group } from '../../../graphic/group';\nimport { computeRowsHeight } from '../../../layout/compute-row-height';\nimport type { SceneProxy } from '../proxy';\nimport { updateRowContent } from './dynamic-set-y';\nimport { updateAutoRow } from './update-auto-row';\n\nexport async function sortVertical(proxy: SceneProxy) {\n // 更新左 中 右 左下 底部 右下 部分的单元格需更新标记\n proxy.table.scenegraph.bodyGroup.forEachChildren((colGroup: Group, index: number) => {\n if (colGroup.type === 'group') {\n colGroup.needUpdate = true;\n colGroup?.forEachChildren((cellGroup: Group) => {\n (cellGroup as any).needUpdate = true;\n });\n }\n });\n\n // 更新同步范围\n let syncTopRow;\n let syncBottomRow;\n if (proxy.table.isAutoRowHeight()) {\n syncTopRow = proxy.rowStart;\n syncBottomRow = proxy.rowEnd;\n } else {\n syncTopRow = Math.max(proxy.bodyTopRow, proxy.screenTopRow - proxy.screenRowCount * 1);\n syncBottomRow = Math.min(\n proxy.bodyBottomRow,\n proxy.screenTopRow + proxy.screenRowCount * 2,\n proxy.table.rowCount - 1\n );\n }\n // console.log('sort更新同步范围', syncTopRow, syncBottomRow);\n\n const oldBodyHeight = proxy.table.getAllRowsHeight();\n\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow);\n\n const newBodyHeight = proxy.table.getAllRowsHeight();\n\n if (oldBodyHeight !== newBodyHeight) {\n proxy.table.scenegraph.updateContainerHeight(proxy.table.frozenRowCount, newBodyHeight - oldBodyHeight);\n }\n\n for (let col = 0; col < proxy.table.frozenColCount ?? 0; col++) {\n // 将该列的chartInstance清除掉\n const columnGroup = proxy.table.scenegraph.getColGroup(col);\n columnGroup?.setAttribute('chartInstance', undefined);\n for (let row = proxy.rowStart; row <= proxy.rowEnd; row++) {\n proxy.table.scenegraph.updateCellContent(col, row);\n }\n for (let row = proxy.table.rowCount - proxy.table.bottomFrozenRowCount; row < proxy.table.rowCount; row++) {\n proxy.table.scenegraph.updateCellContent(col, row);\n }\n }\n for (let col = proxy.colStart; col <= proxy.colEnd; col++) {\n // 将该列的chartInstance清除掉\n const columnGroup = proxy.table.scenegraph.getColGroup(col);\n columnGroup?.setAttribute('chartInstance', undefined);\n for (let row = proxy.table.rowCount - proxy.table.bottomFrozenRowCount; row < proxy.table.rowCount; row++) {\n proxy.table.scenegraph.updateCellContent(col, row);\n }\n }\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n // 将该列的chartInstance清除掉\n const columnGroup = proxy.table.scenegraph.getColGroup(col);\n columnGroup?.setAttribute('chartInstance', undefined);\n for (let row = proxy.rowStart; row <= proxy.rowEnd; row++) {\n proxy.table.scenegraph.updateCellContent(col, row);\n }\n for (let row = proxy.table.rowCount - proxy.table.bottomFrozenRowCount; row < proxy.table.rowCount; row++) {\n proxy.table.scenegraph.updateCellContent(col, row);\n }\n }\n\n updateRowContent(syncTopRow, syncBottomRow, proxy);\n\n if (proxy.table.isAutoRowHeight()) {\n updateAutoRow(\n proxy.bodyLeftCol, // colStart\n proxy.bodyRightCol, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n proxy.rowEnd > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n }\n proxy.rowUpdatePos = proxy.rowStart;\n proxy.rowUpdateDirection = proxy.rowEnd > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up';\n\n // if (\n // proxy.rowEnd === proxy.table.scenegraph.proxy.bodyBottomRow &&\n // proxy.rowStart === proxy.table.scenegraph.proxy.bodyTopRow\n // ) {\n // // 全量更新,do nothing\n // } else if (proxy.rowEnd === proxy.table.scenegraph.proxy.bodyBottomRow) {\n // const totalHeight = proxy.table.getAllRowsHeight();\n // const top = totalHeight - proxy.table.scenegraph.height;\n // proxy.updateBody(top);\n // } else if (proxy.rowStart === proxy.table.scenegraph.proxy.bodyTopRow) {\n // proxy.updateBody(0);\n // }\n\n proxy.table.scenegraph.updateNextFrame();\n if (proxy.table.heightMode !== 'autoHeight') {\n await proxy.progress();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/group-creater/progress/update-position/sort-vertical.ts"],"names":[],"mappings":"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","file":"sort-vertical.js","sourcesContent":["import type { Group } from '../../../graphic/group';\nimport { computeRowsHeight } from '../../../layout/compute-row-height';\nimport type { SceneProxy } from '../proxy';\nimport { updateRowContent } from './dynamic-set-y';\nimport { updateAutoRow } from './update-auto-row';\n\nexport async function sortVertical(proxy: SceneProxy) {\n // 更新左 中 右 左下 底部 右下 部分的单元格需更新标记\n proxy.table.scenegraph.bodyGroup.forEachChildren((colGroup: Group, index: number) => {\n if (colGroup.type === 'group') {\n colGroup.needUpdate = true;\n colGroup?.forEachChildren((cellGroup: Group) => {\n (cellGroup as any).needUpdate = true;\n });\n }\n });\n\n // 更新同步范围\n let syncTopRow;\n let syncBottomRow;\n if (proxy.table.heightMode === 'autoHeight') {\n syncTopRow = proxy.rowStart;\n syncBottomRow = proxy.rowEnd;\n } else {\n syncTopRow = Math.max(proxy.bodyTopRow, proxy.screenTopRow - proxy.screenRowCount * 1);\n syncBottomRow = Math.min(\n proxy.bodyBottomRow,\n proxy.screenTopRow + proxy.screenRowCount * 2,\n proxy.table.rowCount - 1\n );\n }\n // console.log('sort更新同步范围', syncTopRow, syncBottomRow);\n\n const oldBodyHeight = proxy.table.getAllRowsHeight();\n\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow);\n\n const newBodyHeight = proxy.table.getAllRowsHeight();\n\n if (oldBodyHeight !== newBodyHeight) {\n proxy.table.scenegraph.updateContainerHeight(proxy.table.frozenRowCount, newBodyHeight - oldBodyHeight);\n }\n\n for (let col = 0; col < proxy.table.frozenColCount ?? 0; col++) {\n // 将该列的chartInstance清除掉\n const columnGroup = proxy.table.scenegraph.getColGroup(col);\n columnGroup?.setAttribute('chartInstance', undefined);\n for (let row = proxy.rowStart; row <= proxy.rowEnd; row++) {\n proxy.table.scenegraph.updateCellContent(col, row);\n }\n for (let row = proxy.table.rowCount - proxy.table.bottomFrozenRowCount; row < proxy.table.rowCount; row++) {\n proxy.table.scenegraph.updateCellContent(col, row);\n }\n }\n for (let col = proxy.colStart; col <= proxy.colEnd; col++) {\n // 将该列的chartInstance清除掉\n const columnGroup = proxy.table.scenegraph.getColGroup(col);\n columnGroup?.setAttribute('chartInstance', undefined);\n for (let row = proxy.table.rowCount - proxy.table.bottomFrozenRowCount; row < proxy.table.rowCount; row++) {\n proxy.table.scenegraph.updateCellContent(col, row);\n }\n }\n for (let col = proxy.table.colCount - proxy.table.rightFrozenColCount; col < proxy.table.colCount; col++) {\n // 将该列的chartInstance清除掉\n const columnGroup = proxy.table.scenegraph.getColGroup(col);\n columnGroup?.setAttribute('chartInstance', undefined);\n for (let row = proxy.rowStart; row <= proxy.rowEnd; row++) {\n proxy.table.scenegraph.updateCellContent(col, row);\n }\n for (let row = proxy.table.rowCount - proxy.table.bottomFrozenRowCount; row < proxy.table.rowCount; row++) {\n proxy.table.scenegraph.updateCellContent(col, row);\n }\n }\n\n updateRowContent(syncTopRow, syncBottomRow, proxy);\n\n if (proxy.table.heightMode === 'autoHeight') {\n updateAutoRow(\n proxy.bodyLeftCol, // colStart\n proxy.bodyRightCol, // colEnd\n syncTopRow, // rowStart\n syncBottomRow, // rowEnd\n proxy.table,\n proxy.rowEnd > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up' // 跳转到底部时,从下向上对齐\n );\n }\n proxy.rowUpdatePos = proxy.rowStart;\n proxy.rowUpdateDirection = proxy.rowEnd > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? 'down' : 'up';\n\n // if (\n // proxy.rowEnd === proxy.table.scenegraph.proxy.bodyBottomRow &&\n // proxy.rowStart === proxy.table.scenegraph.proxy.bodyTopRow\n // ) {\n // // 全量更新,do nothing\n // } else if (proxy.rowEnd === proxy.table.scenegraph.proxy.bodyBottomRow) {\n // const totalHeight = proxy.table.getAllRowsHeight();\n // const top = totalHeight - proxy.table.scenegraph.height;\n // proxy.updateBody(top);\n // } else if (proxy.rowStart === proxy.table.scenegraph.proxy.bodyTopRow) {\n // proxy.updateBody(0);\n // }\n\n proxy.table.scenegraph.updateNextFrame();\n if (proxy.table.heightMode !== 'autoHeight') {\n await proxy.progress();\n }\n}\n"]}
@@ -18,7 +18,7 @@ function computeRowsHeight(table, rowStart, rowEnd, isClearRowRangeHeightsMap =
18
18
  const layoutMap = table.internalProps.layoutMap;
19
19
  table.isPivotTable() && (layoutMap.enableUseGetBodyCache(), layoutMap.enableUseHeaderPathCache()),
20
20
  table.defaultHeaderRowHeight, table.defaultHeaderColWidth;
21
- const isDefaultHeaderHasAuto = "auto" === table.defaultHeaderRowHeight || (0, vutils_1.isArray)(table.defaultHeaderRowHeight) && table.defaultHeaderRowHeight.some((item => "auto" === item)), isAllRowsAuto = table.isAutoRowHeight() || "adaptive" === table.heightMode && !1 !== table.options.autoHeightInAdaptiveMode, isDefaultRowHeightIsAuto = "auto" === table.options.defaultRowHeight;
21
+ const isDefaultHeaderHasAuto = "auto" === table.defaultHeaderRowHeight || (0, vutils_1.isArray)(table.defaultHeaderRowHeight) && table.defaultHeaderRowHeight.some((item => "auto" === item)), isAllRowsAuto = "autoHeight" === table.heightMode || "adaptive" === table.heightMode && !1 !== table.options.autoHeightInAdaptiveMode, isDefaultRowHeightIsAuto = "auto" === table.options.defaultRowHeight;
22
22
  if (isAllRowsAuto || isDefaultHeaderHasAuto || isDefaultRowHeightIsAuto) {
23
23
  rowStart = null != rowStart ? rowStart : 0, rowEnd = null != rowEnd ? rowEnd : table.rowCount - 1,
24
24
  (0 === rowStart && rowEnd === table.rowCount - 1 || isClearRowRangeHeightsMap) && table._clearRowRangeHeightsMap();
@@ -111,16 +111,12 @@ function computeRowsHeight(table, rowStart, rowEnd, isClearRowRangeHeightsMap =
111
111
 
112
112
  function computeRowHeight(row, startCol, endCol, table) {
113
113
  var _a;
114
- if (!(table.isAutoRowHeight() || "adaptive" === table.heightMode && !1 !== table.options.autoHeightInAdaptiveMode) && "auto" !== table.getDefaultRowHeight(row)) return table.getDefaultRowHeight(row);
114
+ if (!("autoHeight" === table.heightMode || "adaptive" === table.heightMode && !1 !== table.options.autoHeightInAdaptiveMode) && "auto" !== table.getDefaultRowHeight(row)) return table.getDefaultRowHeight(row);
115
115
  let maxHeight;
116
- if (table.options.customComputeRowHeight) {
117
- const customRowHeight = table.options.customComputeRowHeight({
118
- row: row,
119
- table: table
120
- });
121
- if ("number" == typeof customRowHeight) return customRowHeight;
122
- if ("auto" !== customRowHeight) return table.getDefaultRowHeight(row);
123
- }
116
+ if (table.options.customComputeRowHeight) return table.options.customComputeRowHeight({
117
+ row: row,
118
+ table: table
119
+ });
124
120
  if (table.isPivotChart() && row >= table.columnHeaderLevelCount && row < table.rowCount - table.bottomFrozenRowCount) if (table.internalProps.layoutMap.indicatorsAsCol) {
125
121
  const optimunHeight = table.internalProps.layoutMap.getOptimunHeightForChart(row);
126
122
  if (optimunHeight > 0) return optimunHeight;
@@ -154,7 +150,7 @@ function computeRowHeight(row, startCol, endCol, table) {
154
150
  function checkFixedStyleAndNoWrap(table) {
155
151
  var _a, _b, _c;
156
152
  const {layoutMap: layoutMap} = table.internalProps, row = table.columnHeaderLevelCount;
157
- if ((table.internalProps.autoWrapText || table.internalProps.enableLineBreak || table.isPivotChart()) && (table.isAutoRowHeight() || "adaptive" === table.options.heightMode)) return !1;
153
+ if ((table.internalProps.autoWrapText || table.internalProps.enableLineBreak || table.isPivotChart()) && ("autoHeight" === table.options.heightMode || "adaptive" === table.options.heightMode)) return !1;
158
154
  for (let col = 0; col < table.colCount; col++) {
159
155
  const cellDefine = layoutMap.getBody(col, row);
160
156
  if ("radio" === cellDefine.cellType) return !1;
@@ -168,7 +164,7 @@ function checkFixedStyleAndNoWrap(table) {
168
164
  function checkFixedStyleAndNoWrapForTranspose(table, row) {
169
165
  var _a, _b, _c;
170
166
  const {layoutMap: layoutMap} = table.internalProps;
171
- if ((table.internalProps.autoWrapText || table.internalProps.enableLineBreak) && (table.isAutoRowHeight() || "adaptive" === table.options.heightMode)) return !1;
167
+ if ((table.internalProps.autoWrapText || table.internalProps.enableLineBreak) && ("autoHeight" === table.options.heightMode || "adaptive" === table.options.heightMode)) return !1;
172
168
  const cellDefine = layoutMap.getBody(table.rowHeaderLevelCount, row);
173
169
  if ("function" == typeof cellDefine.style || "function" == typeof cellDefine.icon || (null === (_a = cellDefine.define) || void 0 === _a ? void 0 : _a.customRender) || (null === (_b = cellDefine.define) || void 0 === _b ? void 0 : _b.customLayout) || "function" == typeof (null === (_c = cellDefine.define) || void 0 === _c ? void 0 : _c.icon)) return !1;
174
170
  const cellStyle = table._getCellStyle(table.rowHeaderLevelCount, row);
@@ -178,7 +174,7 @@ function checkFixedStyleAndNoWrapForTranspose(table, row) {
178
174
  function checkPivotFixedStyleAndNoWrap(table, row) {
179
175
  var _a, _b, _c;
180
176
  const {layoutMap: layoutMap} = table.internalProps;
181
- if (table.internalProps.autoWrapText && (table.isAutoRowHeight() || "adaptive" === table.options.heightMode)) return !1;
177
+ if (table.internalProps.autoWrapText && ("autoHeight" === table.options.heightMode || "adaptive" === table.options.heightMode)) return !1;
182
178
  const headerDefine = layoutMap.getHeader(table.rowHeaderLevelCount, row);
183
179
  if ("function" == typeof headerDefine.style || "function" == typeof headerDefine.icons || (null === (_a = headerDefine.define) || void 0 === _a ? void 0 : _a.headerCustomRender) || (null === (_b = headerDefine.define) || void 0 === _b ? void 0 : _b.headerCustomLayout) || "function" == typeof (null === (_c = headerDefine.define) || void 0 === _c ? void 0 : _c.icon)) return !1;
184
180
  const headerStyle = table._getCellStyle(table.rowHeaderLevelCount, row);