@visactor/vtable 0.19.2-alpha.2 → 0.20.0

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 (231) hide show
  1. package/cjs/ListTable.d.ts +12 -2
  2. package/cjs/ListTable.js +81 -24
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.d.ts +2 -1
  5. package/cjs/PivotChart.js +5 -1
  6. package/cjs/PivotChart.js.map +1 -1
  7. package/cjs/PivotTable.d.ts +5 -2
  8. package/cjs/PivotTable.js +13 -5
  9. package/cjs/PivotTable.js.map +1 -1
  10. package/cjs/body-helper/body-helper.js +1 -0
  11. package/cjs/body-helper/body-helper.js.map +1 -1
  12. package/cjs/core/BaseTable.d.ts +2 -2
  13. package/cjs/core/BaseTable.js +22 -18
  14. package/cjs/core/BaseTable.js.map +1 -1
  15. package/cjs/core/tableHelper.d.ts +2 -2
  16. package/cjs/core/tableHelper.js +4 -6
  17. package/cjs/core/tableHelper.js.map +1 -1
  18. package/cjs/data/CachedDataSource.d.ts +4 -3
  19. package/cjs/data/CachedDataSource.js +5 -4
  20. package/cjs/data/CachedDataSource.js.map +1 -1
  21. package/cjs/data/DataSource.d.ts +22 -3
  22. package/cjs/data/DataSource.js +93 -7
  23. package/cjs/data/DataSource.js.map +1 -1
  24. package/cjs/dataset/dataset-pivot-table.d.ts +3 -3
  25. package/cjs/dataset/dataset-pivot-table.js +1 -0
  26. package/cjs/dataset/dataset-pivot-table.js.map +1 -1
  27. package/cjs/dataset/dataset.d.ts +3 -3
  28. package/cjs/dataset/dataset.js +3 -0
  29. package/cjs/dataset/dataset.js.map +1 -1
  30. package/cjs/dataset/statistics-helper.d.ts +24 -3
  31. package/cjs/dataset/statistics-helper.js +75 -9
  32. package/cjs/dataset/statistics-helper.js.map +1 -1
  33. package/cjs/edit/edit-manager.js +5 -4
  34. package/cjs/edit/edit-manager.js.map +1 -1
  35. package/cjs/event/listener/table-group.js +14 -4
  36. package/cjs/event/listener/table-group.js.map +1 -1
  37. package/cjs/event/media-click.js +2 -1
  38. package/cjs/event/scroll.js +0 -1
  39. package/cjs/event/sparkline-event.js +1 -1
  40. package/cjs/event/sparkline-event.js.map +1 -1
  41. package/cjs/index.d.ts +1 -1
  42. package/cjs/index.js +1 -1
  43. package/cjs/index.js.map +1 -1
  44. package/cjs/layout/chart-helper/get-chart-spec.d.ts +1 -0
  45. package/cjs/layout/chart-helper/get-chart-spec.js +34 -9
  46. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  47. package/cjs/layout/layout-helper.d.ts +4 -63
  48. package/cjs/layout/layout-helper.js +25 -247
  49. package/cjs/layout/layout-helper.js.map +1 -1
  50. package/cjs/layout/pivot-header-layout.d.ts +6 -3
  51. package/cjs/layout/pivot-header-layout.js +26 -15
  52. package/cjs/layout/pivot-header-layout.js.map +1 -1
  53. package/cjs/layout/row-height-map.js +2 -1
  54. package/cjs/layout/row-height-map.js.map +1 -1
  55. package/cjs/layout/simple-header-layout.d.ts +25 -2
  56. package/cjs/layout/simple-header-layout.js +130 -18
  57. package/cjs/layout/simple-header-layout.js.map +1 -1
  58. package/cjs/layout/tree-helper.d.ts +63 -0
  59. package/cjs/layout/tree-helper.js +259 -0
  60. package/cjs/layout/tree-helper.js.map +1 -0
  61. package/cjs/scenegraph/graphic/chart.d.ts +2 -1
  62. package/cjs/scenegraph/graphic/chart.js +21 -18
  63. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  64. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +4 -1
  65. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  66. package/cjs/scenegraph/graphic/contributions/chart-render.js +2 -2
  67. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  68. package/cjs/scenegraph/group-creater/cell-helper.js +19 -8
  69. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  70. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  71. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +2 -2
  72. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  73. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  74. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +9 -5
  75. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  76. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  77. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  78. package/cjs/scenegraph/group-creater/column-helper.js +5 -5
  79. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  80. package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js +5 -2
  81. package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
  82. package/cjs/scenegraph/scenegraph.js +24 -11
  83. package/cjs/scenegraph/scenegraph.js.map +1 -1
  84. package/cjs/scenegraph/style/frame-border.js +7 -4
  85. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  86. package/cjs/state/hover/is-cell-hover.js +1 -1
  87. package/cjs/state/hover/is-cell-hover.js.map +1 -1
  88. package/cjs/state/sort/index.js +2 -5
  89. package/cjs/state/sort/index.js.map +1 -1
  90. package/cjs/state/state.d.ts +0 -1
  91. package/cjs/state/state.js +3 -4
  92. package/cjs/state/state.js.map +1 -1
  93. package/cjs/themes/theme.js +3 -0
  94. package/cjs/themes/theme.js.map +1 -1
  95. package/cjs/tools/get-data-path/create-dataset.js.map +1 -1
  96. package/cjs/tools/isx.d.ts +1 -1
  97. package/cjs/tools/util.d.ts +1 -1
  98. package/cjs/ts-types/base-table.d.ts +6 -5
  99. package/cjs/ts-types/base-table.js.map +1 -1
  100. package/cjs/ts-types/list-table/define/basic-define.d.ts +2 -0
  101. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  102. package/cjs/ts-types/list-table/layout-map/api.d.ts +5 -4
  103. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  104. package/cjs/ts-types/new-data-set.d.ts +27 -6
  105. package/cjs/ts-types/new-data-set.js +1 -1
  106. package/cjs/ts-types/new-data-set.js.map +1 -1
  107. package/cjs/ts-types/table-engine.d.ts +17 -5
  108. package/cjs/ts-types/table-engine.js.map +1 -1
  109. package/cjs/ts-types/theme.d.ts +1 -0
  110. package/cjs/ts-types/theme.js.map +1 -1
  111. package/cjs/vrender.js.map +1 -1
  112. package/dist/vtable.js +1306 -544
  113. package/dist/vtable.min.js +2 -2
  114. package/es/ListTable.d.ts +12 -2
  115. package/es/ListTable.js +81 -24
  116. package/es/ListTable.js.map +1 -1
  117. package/es/PivotChart.d.ts +2 -1
  118. package/es/PivotChart.js +5 -1
  119. package/es/PivotChart.js.map +1 -1
  120. package/es/PivotTable.d.ts +5 -2
  121. package/es/PivotTable.js +13 -5
  122. package/es/PivotTable.js.map +1 -1
  123. package/es/body-helper/body-helper.js +1 -0
  124. package/es/body-helper/body-helper.js.map +1 -1
  125. package/es/core/BaseTable.d.ts +2 -2
  126. package/es/core/BaseTable.js +22 -18
  127. package/es/core/BaseTable.js.map +1 -1
  128. package/es/core/tableHelper.d.ts +2 -2
  129. package/es/core/tableHelper.js +4 -6
  130. package/es/core/tableHelper.js.map +1 -1
  131. package/es/data/CachedDataSource.d.ts +4 -3
  132. package/es/data/CachedDataSource.js +5 -4
  133. package/es/data/CachedDataSource.js.map +1 -1
  134. package/es/data/DataSource.d.ts +22 -3
  135. package/es/data/DataSource.js +91 -7
  136. package/es/data/DataSource.js.map +1 -1
  137. package/es/dataset/dataset-pivot-table.d.ts +3 -3
  138. package/es/dataset/dataset-pivot-table.js +1 -0
  139. package/es/dataset/dataset-pivot-table.js.map +1 -1
  140. package/es/dataset/dataset.d.ts +3 -3
  141. package/es/dataset/dataset.js +3 -0
  142. package/es/dataset/dataset.js.map +1 -1
  143. package/es/dataset/statistics-helper.d.ts +24 -3
  144. package/es/dataset/statistics-helper.js +72 -8
  145. package/es/dataset/statistics-helper.js.map +1 -1
  146. package/es/edit/edit-manager.js +5 -4
  147. package/es/edit/edit-manager.js.map +1 -1
  148. package/es/event/listener/table-group.js +14 -4
  149. package/es/event/listener/table-group.js.map +1 -1
  150. package/es/event/media-click.js +2 -1
  151. package/es/event/scroll.js +1 -2
  152. package/es/event/sparkline-event.js +1 -1
  153. package/es/event/sparkline-event.js.map +1 -1
  154. package/es/index.d.ts +1 -1
  155. package/es/index.js +1 -1
  156. package/es/index.js.map +1 -1
  157. package/es/layout/chart-helper/get-chart-spec.d.ts +1 -0
  158. package/es/layout/chart-helper/get-chart-spec.js +29 -4
  159. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  160. package/es/layout/layout-helper.d.ts +4 -63
  161. package/es/layout/layout-helper.js +19 -246
  162. package/es/layout/layout-helper.js.map +1 -1
  163. package/es/layout/pivot-header-layout.d.ts +6 -3
  164. package/es/layout/pivot-header-layout.js +17 -6
  165. package/es/layout/pivot-header-layout.js.map +1 -1
  166. package/es/layout/row-height-map.js +2 -1
  167. package/es/layout/row-height-map.js.map +1 -1
  168. package/es/layout/simple-header-layout.d.ts +25 -2
  169. package/es/layout/simple-header-layout.js +130 -17
  170. package/es/layout/simple-header-layout.js.map +1 -1
  171. package/es/layout/tree-helper.d.ts +63 -0
  172. package/es/layout/tree-helper.js +256 -0
  173. package/es/layout/tree-helper.js.map +1 -0
  174. package/es/scenegraph/graphic/chart.d.ts +2 -1
  175. package/es/scenegraph/graphic/chart.js +21 -17
  176. package/es/scenegraph/graphic/chart.js.map +1 -1
  177. package/es/scenegraph/graphic/contributions/chart-render-helper.js +4 -1
  178. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  179. package/es/scenegraph/graphic/contributions/chart-render.js +2 -2
  180. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  181. package/es/scenegraph/group-creater/cell-helper.js +20 -7
  182. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  183. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  184. package/es/scenegraph/group-creater/cell-type/chart-cell.js +2 -2
  185. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  186. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  187. package/es/scenegraph/group-creater/cell-type/image-cell.js +9 -5
  188. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  189. package/es/scenegraph/group-creater/cell-type/video-cell.js +1 -1
  190. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  191. package/es/scenegraph/group-creater/column-helper.js +5 -5
  192. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  193. package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js +6 -3
  194. package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
  195. package/es/scenegraph/scenegraph.js +24 -11
  196. package/es/scenegraph/scenegraph.js.map +1 -1
  197. package/es/scenegraph/style/frame-border.js +7 -4
  198. package/es/scenegraph/style/frame-border.js.map +1 -1
  199. package/es/state/hover/is-cell-hover.js +1 -1
  200. package/es/state/hover/is-cell-hover.js.map +1 -1
  201. package/es/state/sort/index.js +2 -5
  202. package/es/state/sort/index.js.map +1 -1
  203. package/es/state/state.d.ts +0 -1
  204. package/es/state/state.js +3 -4
  205. package/es/state/state.js.map +1 -1
  206. package/es/themes/theme.js +3 -0
  207. package/es/themes/theme.js.map +1 -1
  208. package/es/tools/get-data-path/create-dataset.js.map +1 -1
  209. package/es/tools/isx.d.ts +1 -1
  210. package/es/tools/util.d.ts +1 -1
  211. package/es/ts-types/base-table.d.ts +6 -5
  212. package/es/ts-types/base-table.js.map +1 -1
  213. package/es/ts-types/list-table/define/basic-define.d.ts +2 -0
  214. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  215. package/es/ts-types/list-table/layout-map/api.d.ts +5 -4
  216. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  217. package/es/ts-types/new-data-set.d.ts +27 -6
  218. package/es/ts-types/new-data-set.js +1 -1
  219. package/es/ts-types/new-data-set.js.map +1 -1
  220. package/es/ts-types/table-engine.d.ts +17 -5
  221. package/es/ts-types/table-engine.js.map +1 -1
  222. package/es/ts-types/theme.d.ts +1 -0
  223. package/es/ts-types/theme.js.map +1 -1
  224. package/es/vrender.js.map +1 -1
  225. package/package.json +3 -3
  226. package/cjs/data/FilterDataSource.d.ts +0 -1
  227. package/cjs/data/FilterDataSource.js +0 -1
  228. package/cjs/data/FilterDataSource.js.map +0 -1
  229. package/es/data/FilterDataSource.d.ts +0 -1
  230. package/es/data/FilterDataSource.js +0 -1
  231. package/es/data/FilterDataSource.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/group-creater/cell-type/video-cell.ts"],"names":[],"mappings":"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","file":"video-cell.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { Cursor, IImage, IThemeSpec } from './../../../vrender';\nimport { createRect, createImage } from './../../../vrender';\nimport * as icons from '../../../icons';\nimport { Group } from '../../graphic/group';\nimport { calcKeepAspectRatioSize } from '../../utils/keep-aspect-ratio';\nimport { Icon } from '../../graphic/icon';\nimport { calcStartPosition } from '../../utils/cell-pos';\nimport { _adjustWidthHeight } from './image-cell';\nimport { getFunctionalProp, getProp } from '../../utils/get-prop';\nimport { isValid } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\n\nconst regedIcons = icons.get();\n\nexport function createVideoCellGroup(\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n width: number,\n height: number,\n keepAspectRatio: boolean,\n imageAutoSizing: boolean,\n padding: [number, number, number, number],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n table: BaseTableAPI,\n cellTheme: IThemeSpec\n) {\n const headerStyle = table._getCellStyle(col, row); // to be fixed\n const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);\n // const margin = getProp('padding', headerStyle, col, row, table);\n if (isValid(functionalPadding)) {\n padding = functionalPadding;\n }\n if (cellTheme?.text?.textAlign) {\n textAlign = cellTheme?.text?.textAlign;\n }\n if (cellTheme?.text?.textBaseline) {\n textBaseline = cellTheme?.text?.textBaseline;\n }\n\n // cell\n const cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n // childrenPickable: false,\n\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n strokeArrayWidth: (cellTheme?.group as any)?.strokeArrayWidth ?? undefined,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n lineDash: cellTheme?.group?.lineDash ?? undefined,\n\n lineCap: 'square',\n\n clip: true,\n\n cornerRadius: cellTheme.group.cornerRadius\n } as any);\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n // columnGroup?.addChild(cellGroup);\n columnGroup?.addCellGroup(cellGroup);\n\n // video\n const value = table.getCellValue(col, row);\n const video = document.createElement('video');\n video.addEventListener('loadeddata', (): void => {\n if (imageAutoSizing) {\n _adjustWidthHeight(col, row, video.videoWidth, video.videoHeight, table.scenegraph, padding);\n }\n const width = cellGroup.attribute.width;\n const height = cellGroup.attribute.height;\n // 更新宽高\n if (keepAspectRatio) {\n const { width: videoWidth, height: videoHeight } = calcKeepAspectRatioSize(\n video.videoWidth,\n video.videoHeight,\n width - padding[1] - padding[3],\n height - padding[0] - padding[2]\n );\n const pos = calcStartPosition(0, 0, width, height, videoWidth, videoHeight, textAlign, textBaseline, padding);\n\n image.setAttributes({\n width: videoWidth,\n height: videoHeight,\n x: pos.x,\n y: pos.y\n });\n } else {\n image.setAttributes({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[2] - padding[0]\n });\n }\n\n const left = 0;\n const top = 0;\n // 播放按钮\n const iconSize = Math.floor(Math.min(width - padding[1] - padding[3], height - padding[2] - padding[0]) / 2);\n const anchorX =\n left + (width > image.attribute.width ? image.attribute.x - left + image.attribute.width / 2 : width / 2);\n const anchorY =\n top + (height > image.attribute.height ? image.attribute.y - top + image.attribute.height / 2 : height / 2);\n\n const playIcon: Icon = new Icon({\n x: anchorX - iconSize / 2,\n y: anchorY - iconSize / 2,\n width: iconSize,\n height: iconSize,\n image: (regedIcons.play as any).svg,\n cursor: (regedIcons.play as any).cursor\n });\n playIcon.name = 'play-icon';\n cellGroup.appendChild(playIcon);\n // 触发重绘\n table.scenegraph.updateNextFrame();\n });\n video.onerror = (): void => {\n // image.setAttribute('image', (regedIcons.damage_pic as any).svg);\n (image as any).image = (regedIcons.damage_pic as any).svg;\n };\n video.src = value;\n video.setAttribute('preload', 'auto');\n\n const image: IImage = createImage({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[2] - padding[0],\n image: video as any,\n cursor: 'pointer' as Cursor\n });\n image.name = 'image';\n cellGroup.appendChild(image);\n\n return cellGroup;\n}\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/group-creater/cell-type/video-cell.ts"],"names":[],"mappings":"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","file":"video-cell.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { Cursor, IImage, IThemeSpec } from './../../../vrender';\nimport { createRect, createImage } from './../../../vrender';\nimport * as icons from '../../../icons';\nimport { Group } from '../../graphic/group';\nimport { calcKeepAspectRatioSize } from '../../utils/keep-aspect-ratio';\nimport { Icon } from '../../graphic/icon';\nimport { calcStartPosition } from '../../utils/cell-pos';\nimport { _adjustWidthHeight } from './image-cell';\nimport { getFunctionalProp, getProp } from '../../utils/get-prop';\nimport { isValid } from '@visactor/vutils';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\n\nconst regedIcons = icons.get();\n\nexport function createVideoCellGroup(\n columnGroup: Group,\n xOrigin: number,\n yOrigin: number,\n col: number,\n row: number,\n width: number,\n height: number,\n keepAspectRatio: boolean,\n imageAutoSizing: boolean,\n padding: [number, number, number, number],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n table: BaseTableAPI,\n cellTheme: IThemeSpec\n) {\n const headerStyle = table._getCellStyle(col, row); // to be fixed\n const functionalPadding = getFunctionalProp('padding', headerStyle, col, row, table);\n // const margin = getProp('padding', headerStyle, col, row, table);\n if (isValid(functionalPadding)) {\n padding = functionalPadding;\n }\n if (cellTheme?.text?.textAlign) {\n textAlign = cellTheme?.text?.textAlign;\n }\n if (cellTheme?.text?.textBaseline) {\n textBaseline = cellTheme?.text?.textBaseline;\n }\n\n // cell\n const cellGroup = new Group({\n x: xOrigin,\n y: yOrigin,\n width,\n height,\n // childrenPickable: false,\n\n // 背景相关,cell背景由cellGroup绘制\n lineWidth: cellTheme?.group?.lineWidth ?? undefined,\n fill: cellTheme?.group?.fill ?? undefined,\n stroke: cellTheme?.group?.stroke ?? undefined,\n strokeArrayWidth: (cellTheme?.group as any)?.strokeArrayWidth ?? undefined,\n strokeArrayColor: (cellTheme?.group as any)?.strokeArrayColor ?? undefined,\n cursor: (cellTheme?.group as any)?.cursor ?? undefined,\n lineDash: cellTheme?.group?.lineDash ?? undefined,\n\n lineCap: 'square',\n\n clip: true,\n\n cornerRadius: cellTheme.group.cornerRadius\n } as any);\n cellGroup.role = 'cell';\n cellGroup.col = col;\n cellGroup.row = row;\n // columnGroup?.addChild(cellGroup);\n columnGroup?.addCellGroup(cellGroup);\n\n // video\n const value = table.getCellValue(col, row);\n const video = document.createElement('video');\n video.addEventListener('loadeddata', (): void => {\n if (imageAutoSizing) {\n _adjustWidthHeight(col, row, video.videoWidth, video.videoHeight, table.scenegraph, padding, cellGroup);\n }\n const width = cellGroup.attribute.width;\n const height = cellGroup.attribute.height;\n // 更新宽高\n if (keepAspectRatio) {\n const { width: videoWidth, height: videoHeight } = calcKeepAspectRatioSize(\n video.videoWidth,\n video.videoHeight,\n width - padding[1] - padding[3],\n height - padding[0] - padding[2]\n );\n const pos = calcStartPosition(0, 0, width, height, videoWidth, videoHeight, textAlign, textBaseline, padding);\n\n image.setAttributes({\n width: videoWidth,\n height: videoHeight,\n x: pos.x,\n y: pos.y\n });\n } else {\n image.setAttributes({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[2] - padding[0]\n });\n }\n\n const left = 0;\n const top = 0;\n // 播放按钮\n const iconSize = Math.floor(Math.min(width - padding[1] - padding[3], height - padding[2] - padding[0]) / 2);\n const anchorX =\n left + (width > image.attribute.width ? image.attribute.x - left + image.attribute.width / 2 : width / 2);\n const anchorY =\n top + (height > image.attribute.height ? image.attribute.y - top + image.attribute.height / 2 : height / 2);\n\n const playIcon: Icon = new Icon({\n x: anchorX - iconSize / 2,\n y: anchorY - iconSize / 2,\n width: iconSize,\n height: iconSize,\n image: (regedIcons.play as any).svg,\n cursor: (regedIcons.play as any).cursor\n });\n playIcon.name = 'play-icon';\n cellGroup.appendChild(playIcon);\n // 触发重绘\n table.scenegraph.updateNextFrame();\n });\n video.onerror = (): void => {\n // image.setAttribute('image', (regedIcons.damage_pic as any).svg);\n (image as any).image = (regedIcons.damage_pic as any).svg;\n };\n video.src = value;\n video.setAttribute('preload', 'auto');\n\n const image: IImage = createImage({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[2] - padding[0],\n image: video as any,\n cursor: 'pointer' as Cursor\n });\n image.name = 'image';\n cellGroup.appendChild(image);\n\n return cellGroup;\n}\n"]}
@@ -18,7 +18,7 @@ function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd, merge
18
18
  const {range: customMergeRange, text: customMergeText, style: customMergeStyle, customLayout: customLayout, customRender: customRender} = customMerge;
19
19
  if (range = customMergeRange, isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row,
20
20
  isMerge) {
21
- const mergeSize = dealMerge(range, mergeMap, table);
21
+ const mergeSize = dealMerge(range, mergeMap, table, rowStart > range.start.row);
22
22
  cellWidth = mergeSize.cellWidth, cellHeight = mergeSize.cellHeight;
23
23
  }
24
24
  value = customMergeText, customStyle = customMergeStyle, (customLayout || customRender) && (customResult = (0,
@@ -31,7 +31,7 @@ function createComplexColumn(columnGroup, col, colWidth, rowStart, rowEnd, merge
31
31
  if (!range && ("body" !== cellLocation || (null == define ? void 0 : define.mergeCell)) && (range = table.getCellRange(col, row),
32
32
  isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row,
33
33
  isMerge)) {
34
- const mergeSize = dealMerge(range, mergeMap, table);
34
+ const mergeSize = dealMerge(range, mergeMap, table, rowStart > range.start.row);
35
35
  cellWidth = mergeSize.cellWidth, cellHeight = mergeSize.cellHeight;
36
36
  }
37
37
  const cellStyle = customStyle || table._getCellStyle(col, row), cellTheme = (0,
@@ -98,17 +98,17 @@ function resizeCellGroup(cellGroup, rangeWidth, rangeHeight, range, table) {
98
98
  };
99
99
  }
100
100
 
101
- function dealMerge(range, mergeMap, table) {
101
+ function dealMerge(range, mergeMap, table, forceUpdate) {
102
102
  let cellWidth = 0, cellHeight = 0;
103
103
  const mergeResult = mergeMap.get(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`);
104
- if (mergeResult) cellWidth = mergeResult.cellWidth, cellHeight = mergeResult.cellHeight; else {
104
+ if (!mergeResult || forceUpdate) {
105
105
  for (let col = range.start.col; col <= range.end.col; col++) cellWidth += table.getColWidth(col);
106
106
  for (let i = range.start.row; i <= range.end.row; i++) cellHeight += table.getRowHeight(i);
107
107
  mergeMap.set(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`, {
108
108
  cellWidth: cellWidth,
109
109
  cellHeight: cellHeight
110
110
  });
111
- }
111
+ } else cellWidth = mergeResult.cellWidth, cellHeight = mergeResult.cellHeight;
112
112
  return {
113
113
  cellWidth: cellWidth,
114
114
  cellHeight: cellHeight
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/group-creater/column-helper.ts"],"names":[],"mappings":";;;AAIA,gDAAwD;AAExD,+CAA2C;AAE3C,wDAA4E;AAC5E,+CAA+C;AAC/C,kEAA6D;AAC7D,6CAA2C;AAC3C,gDAAqD;AAiBrD,SAAgB,mBAAmB,CACjC,WAAkB,EAClB,GAAW,EACX,QAAgB,EAChB,QAAgB,EAChB,MAAc,EACd,QAAkB,EAClB,gBAAmC,EACnC,KAAmB,EACnB,YAA0B,EAC1B,QAAiB;IAEjB,IAAI,OAAO,CAAC;IACZ,IAAI,SAAS,CAAC;IACd,IAAI,YAAY,CAAC;IAGjB,IAAI,CAAC,GAAG,CAAC,CAAC;IAKV,IAAI,WAAW,CAAC,SAAS,IAAK,WAAW,CAAC,SAAmB,CAAC,GAAG,KAAK,QAAQ,GAAG,CAAC,EAAE;QAClF,CAAC,GAAI,WAAW,CAAC,SAAmB,CAAC,SAAS,CAAC,CAAC,GAAI,WAAW,CAAC,SAAmB,CAAC,SAAS,CAAC,MAAM,CAAC;KACtG;SAAM,IAAI,WAAW,CAAC,SAAS,EAAE;QAChC,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC;KAC3B;IAED,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAGzC,IAAI,SAAS,GAAG,QAAQ,CAAC;QAEzB,IAAI,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,KAAK,CAAC;QACV,IAAI,OAAO,CAAC;QACZ,IAAI,WAAW,CAAC;QAChB,IAAI,YAAY,CAAC;QACjB,IAAI,KAAK,CAAC,aAAa,CAAC,eAAe,EAAE;YACvC,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnD,IAAI,WAAW,EAAE;gBACf,MAAM,EACJ,KAAK,EAAE,gBAAgB,EACvB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,gBAAgB,EACvB,YAAY,EACZ,YAAY,EACb,GAAG,WAAW,CAAC;gBAChB,KAAK,GAAG,gBAAgB,CAAC;gBACzB,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;gBACjF,IAAI,OAAO,EAAE;oBACX,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACpD,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;oBAChC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;iBACnC;gBACD,KAAK,GAAG,eAAe,CAAC;gBACxB,WAAW,GAAG,gBAAgB,CAAC;gBAE/B,IAAI,YAAY,IAAI,YAAY,EAAE;oBAChC,YAAY,GAAG,IAAA,uBAAc,EAC3B,YAAY,EACZ,YAAY,EACZ,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAC1B,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAC1B,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EACxE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EACzE,KAAK,EACL,KAAK,CAAC,UAAU,KAAK,YAAY,EACjC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACZ,KAAK,CACN,CAAC;iBACH;aACF;SACF;QAED,IAAI,YAAY,GAAG,GAAG,CAAC;QACvB,IAAI,YAAY,GAAG,GAAG,CAAC;QACvB,IAAI,KAAK,EAAE;YACT,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/B,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;SAChC;QACD,MAAM,MAAM,GACV,YAAY,KAAK,MAAM;YACrB,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,CAAC;YACnD,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA,IAAI,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA,CAAC;QAEtF,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,KAAK,MAAM,KAAK,MAA2B,aAA3B,MAAM,uBAAN,MAAM,CAAuB,SAAS,CAAA,CAAC,EAAE;YAElF,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;YAEjF,IAAI,OAAO,EAAE;gBACX,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACpD,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;gBAChC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;aACnC;SACF;QAED,MAAM,SAAS,GAAG,WAAW,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAA,2BAAa,EAC7B,SAAS,EACT,KAAK,EACL,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAC7B,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAC7B,kBAAO,CACR,CAAC,KAAK,CAAC;QACR,SAAS,CAAC,KAAK,CAAC,YAAY,GAAG,IAAA,iCAAmB,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACpE,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;QACjC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACpG,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE;YAC7B,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;SACrC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE;YAC5B,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;SACtC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE;YAC/B,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;SAC5C;QAGD,IAAI,YAAY,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE;YACpD,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;SAC/B;QAGD,MAAM,IAAI,GACR,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/G,MAAM,CAAC;QAGT,IAAI,IAAA,kBAAS,EAAC,KAAK,CAAC,EAAE;YACpB,IAAA,mCAAe,EACb,KAAK,EACL,KAAK,EACL,wBAAU,CAAC,IAAI,CACb,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,EACL,GAAG,EACH,GAAG,EACH,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,EACX,CAAC,EACD,OAAO,EACP,SAAS,EACT,YAAY,EACZ,WAAW,EACX,SAAS,EACT,KAAK,EACL,YAAY,CACb,CACF,CAAC;YACF,WAAW,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACvC,WAAW,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC,IAAI,MAAM,CAAC;SACb;aAAM;YACL,MAAM,SAAS,GAAG,IAAA,wBAAU,EAC1B,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,EACL,GAAG,EACH,GAAG,EACH,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,EACX,CAAC,EACD,OAAO,EACP,SAAS,EACT,YAAY,EACZ,WAAW,EACX,SAAS,EACT,KAAK,EACL,YAAY,CACb,CAAC;YACF,WAAW,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,OAAO,EAAE;gBACX,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAE1C,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;gBACpD,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;gBACtD,SAAS,CAAC,YAAY,GAAG,YAAY,CAAC;gBACtC,SAAS,CAAC,aAAa,GAAG,aAAa,CAAC;gBAExC,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAClE,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBAC5C,CAAC,IAAI,WAAW,CAAC;aAClB;iBAAM;gBACL,WAAW,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC3D,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;aACjC;SACF;QACD,IAAI,QAAQ,IAAI,GAAG,GAAG,QAAQ,EAAE;YAC9B,MAAM;SACP;KACF;IAED,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,OAAO;QACL,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,CAAC;KACV,CAAC;AACJ,CAAC;AApND,kDAoNC;AASD,SAAgB,mBAAmB,CACjC,GAAW,EACX,QAAgB,EAChB,KAAmB;IAEnB,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACrE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,IAAA,2BAAa,EAC3D,KAAK,EACL,KAAK,EACL,GAAG,EACH,KAAK,CAAC,sBAAsB,EAC5B,qBAAU,CACX,CAAC;IAGF,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;IACnC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AACjD,CAAC;AAlBD,kDAkBC;AAED,SAAgB,eAAe,CAC7B,SAAgB,EAChB,UAAkB,EAClB,WAAmB,EACnB,KAAgB,EAChB,KAAmB;IAEnB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;IAE1D,SAAS,CAAC,eAAe,CAAC,CAAC,KAAe,EAAE,EAAE;;QAC5C,KAAK,CAAC,aAAa,CAAC;YAClB,EAAE,EAAE,CAAC,MAAA,KAAK,CAAC,SAAS,CAAC,EAAE,mCAAI,CAAC,CAAC,GAAG,EAAE;YAClC,EAAE,EAAE,CAAC,MAAA,KAAK,CAAC,SAAS,CAAC,EAAE,mCAAI,CAAC,CAAC,GAAG,EAAE;SACnC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;IAChD,MAAM,gBAAgB,GAAG,IAAA,gBAAO,EAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAElC,IAAI,GAAG,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;QAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAC/D;IACD,IAAI,GAAG,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;QAC3B,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAC/D;IACD,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;QACzB,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAC/D;IACD,IAAI,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;QACzB,YAAY,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAC/D;IAED,MAAM,WAAW,GAAG,UAAU,KAAK,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;IAC7D,MAAM,YAAY,GAAG,WAAW,KAAK,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC;IAEhE,SAAS,CAAC,aAAa,CAAC;QACtB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,WAAW;QACnB,gBAAgB,EAAE,YAAY;KACxB,CAAC,CAAC;IAEV,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1C,SAAS,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1C,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IAEtC,OAAO;QACL,WAAW;QACX,YAAY;KACb,CAAC;AACJ,CAAC;AArDD,0CAqDC;AAED,SAAS,SAAS,CAAC,KAAgB,EAAE,QAAkB,EAAE,KAAmB;IAC1E,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5G,IAAI,CAAC,WAAW,EAAE;QAChB,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC3D,SAAS,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SACrC;QAGD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACrD,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SACrC;QAED,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE;YACtF,SAAS;YACT,UAAU;SACX,CAAC,CAAC;KACJ;SAAM;QACL,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;QAClC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;KACrC;IACD,OAAO;QACL,SAAS;QACT,UAAU;KACX,CAAC;AACJ,CAAC","file":"column-helper.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IGraphic, IThemeSpec } from './../../vrender';\nimport type { CellLocation, CellRange, TextColumnDefine } from '../../ts-types';\nimport type { Group } from '../graphic/group';\nimport { getProp, getRawProp } from '../utils/get-prop';\nimport type { MergeMap } from '../scenegraph';\nimport { createCell } from './cell-helper';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport { getCellCornerRadius, getStyleTheme } from '../../core/tableHelper';\nimport { isPromise } from '../../tools/helper';\nimport { dealPromiseData } from '../utils/deal-promise-data';\nimport { isArray } from '@visactor/vutils';\nimport { dealWithCustom } from '../component/custom';\n/**\n * 创建复合列 同一列支持创建不同类型单元格\n * @param columnGroup 列Group\n * @param col\n * @param colWidth 配置列宽\n * @param rowStart\n * @param rowEnd\n * @param mergeMap merge单元格信息\n * @param defaultRowHeight\n * @param table\n * @param cellLocation\n * @param rowLimit\n * @param customRender\n * @param customLayout\n * @returns\n */\nexport function createComplexColumn(\n columnGroup: Group,\n col: number,\n colWidth: number,\n rowStart: number,\n rowEnd: number,\n mergeMap: MergeMap,\n defaultRowHeight: number | number[],\n table: BaseTableAPI,\n cellLocation: CellLocation,\n rowLimit?: number\n) {\n let padding;\n let textAlign;\n let textBaseline;\n /** useColumnTheme 判断是否可以使用columnTheme */\n // insert cell into column group top\n let y = 0;\n // if (columnGroup.colHeight) {\n // // insert cell into column group bottom\n // y = columnGroup.colHeight;\n // }\n if (columnGroup.lastChild && (columnGroup.lastChild as Group).row === rowStart - 1) {\n y = (columnGroup.lastChild as Group).attribute.y + (columnGroup.lastChild as Group).attribute.height;\n } else if (columnGroup.colHeight) {\n y = columnGroup.colHeight;\n }\n\n for (let j = rowStart; j <= rowEnd; j++) {\n const row = j;\n let value = table.getCellValue(col, row);\n\n // 处理单元格合并\n let cellWidth = colWidth;\n // let cellHeight = table.internalProps.autoRowHeight ? 0 : table.getRowHeight(row);\n let cellHeight = table.getRowHeight(row);\n let range;\n let isMerge;\n let customStyle;\n let customResult;\n if (table.internalProps.customMergeCell) {\n const customMerge = table.getCustomMerge(col, row);\n if (customMerge) {\n const {\n range: customMergeRange,\n text: customMergeText,\n style: customMergeStyle,\n customLayout,\n customRender\n } = customMerge;\n range = customMergeRange;\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n if (isMerge) {\n const mergeSize = dealMerge(range, mergeMap, table);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n value = customMergeText;\n customStyle = customMergeStyle;\n\n if (customLayout || customRender) {\n customResult = dealWithCustom(\n customLayout,\n customRender,\n customMergeRange.start.col,\n customMergeRange.start.row,\n table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col),\n table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row),\n false,\n table.heightMode === 'autoHeight',\n [0, 0, 0, 0],\n table\n );\n }\n }\n }\n\n let colForDefine = col;\n let rowForDefine = row;\n if (range) {\n colForDefine = range.start.col;\n rowForDefine = range.start.row;\n }\n const define =\n cellLocation !== 'body'\n ? table.getHeaderDefine(colForDefine, rowForDefine)\n : table.getBodyColumnDefine(colForDefine, rowForDefine);\n const mayHaveIcon = cellLocation !== 'body' ? true : !!define?.icon || !!define?.tree;\n\n if (!range && (cellLocation !== 'body' || (define as TextColumnDefine)?.mergeCell)) {\n // 只有表头或者column配置合并单元格后再进行信息获取\n range = table.getCellRange(col, row);\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // 所有Merge单元格,只保留左上角一个真实的单元格,其他使用空Group占位\n if (isMerge) {\n const mergeSize = dealMerge(range, mergeMap, table);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n }\n\n const cellStyle = customStyle || table._getCellStyle(col, row);\n const cellTheme = getStyleTheme(\n cellStyle,\n table,\n range ? range.start.col : col,\n range ? range.start.row : row,\n getProp\n ).theme;\n cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);\n cellTheme.group.width = colWidth;\n cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight;\n if (cellTheme._vtable.padding) {\n padding = cellTheme._vtable.padding;\n }\n if (cellTheme.text.textAlign) {\n textAlign = cellTheme.text.textAlign;\n }\n if (cellTheme.text.textBaseline) {\n textBaseline = cellTheme.text.textBaseline;\n }\n\n // enable clip body\n if (cellLocation !== 'body' && !cellTheme.group.fill) {\n cellTheme.group.fill = '#fff';\n }\n // margin = getProp('margin', headerStyle, col, 0, table)\n\n const type =\n (table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row)) ||\n 'text';\n\n // deal with promise data\n if (isPromise(value)) {\n dealPromiseData(\n value,\n table,\n createCell.bind(\n null,\n type,\n value,\n define,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n )\n );\n columnGroup.updateColumnRowNumber(row);\n const height = table.getRowHeight(row);\n columnGroup.updateColumnHeight(height);\n y += height;\n } else {\n const cellGroup = createCell(\n type,\n value,\n define,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n );\n columnGroup.updateColumnRowNumber(row);\n if (isMerge) {\n const rangeHeight = table.getRowHeight(row);\n const rangeWidth = table.getColWidth(col);\n\n const { width: contentWidth } = cellGroup.attribute;\n const { height: contentHeight } = cellGroup.attribute;\n cellGroup.contentWidth = contentWidth;\n cellGroup.contentHeight = contentHeight;\n\n resizeCellGroup(cellGroup, rangeWidth, rangeHeight, range, table);\n columnGroup.updateColumnHeight(rangeHeight);\n y += rangeHeight;\n } else {\n columnGroup.updateColumnHeight(cellGroup.attribute.height);\n y += cellGroup.attribute.height;\n }\n }\n if (rowLimit && row > rowLimit) {\n break;\n }\n }\n\n columnGroup.setAttribute('width', colWidth);\n return {\n width: colWidth,\n height: y\n };\n}\n\n/**\n * 获取列分组主题\n * @param col 列索引\n * @param colWidth 列宽\n * @param table 表格实例\n * @returns 列分组主题\n */\nexport function getColumnGroupTheme(\n col: number,\n colWidth: number,\n table: BaseTableAPI\n): { theme: IThemeSpec & { _vtable: any }; hasFunctionPros: boolean } {\n const style = table._getCellStyle(col, table.columnHeaderLevelCount); // to be fixed\n const { theme: columnTheme, hasFunctionPros } = getStyleTheme(\n style,\n table,\n col,\n table.columnHeaderLevelCount,\n getRawProp\n );\n\n // get column header style\n columnTheme.group.width = colWidth;\n columnTheme.group.height = 0;\n return { theme: columnTheme, hasFunctionPros };\n}\n\nexport function resizeCellGroup(\n cellGroup: Group,\n rangeWidth: number,\n rangeHeight: number,\n range: CellRange,\n table: BaseTableAPI\n) {\n const { col, row } = cellGroup;\n const dx = -table.getColsWidth(range.start.col, col - 1);\n const dy = -table.getRowsHeight(range.start.row, row - 1);\n\n cellGroup.forEachChildren((child: IGraphic) => {\n child.setAttributes({\n dx: (child.attribute.dx ?? 0) + dx,\n dy: (child.attribute.dy ?? 0) + dy\n });\n });\n\n const lineWidth = cellGroup.attribute.lineWidth;\n const isLineWidthArray = isArray(lineWidth);\n const newLineWidth = [0, 0, 0, 0];\n\n if (col === range.start.col) {\n newLineWidth[3] = isLineWidthArray ? lineWidth[3] : lineWidth;\n }\n if (row === range.start.row) {\n newLineWidth[0] = isLineWidthArray ? lineWidth[0] : lineWidth;\n }\n if (col === range.end.col) {\n newLineWidth[1] = isLineWidthArray ? lineWidth[1] : lineWidth;\n }\n if (row === range.end.row) {\n newLineWidth[2] = isLineWidthArray ? lineWidth[2] : lineWidth;\n }\n\n const widthChange = rangeWidth !== cellGroup.attribute.width;\n const heightChange = rangeHeight !== cellGroup.attribute.height;\n\n cellGroup.setAttributes({\n width: rangeWidth,\n height: rangeHeight,\n strokeArrayWidth: newLineWidth\n } as any);\n\n cellGroup.mergeStartCol = range.start.col;\n cellGroup.mergeStartRow = range.start.row;\n cellGroup.mergeEndCol = range.end.col;\n cellGroup.mergeEndRow = range.end.row;\n\n return {\n widthChange,\n heightChange\n };\n}\n\nfunction dealMerge(range: CellRange, mergeMap: MergeMap, table: BaseTableAPI) {\n let cellWidth = 0;\n let cellHeight = 0;\n const mergeResult = mergeMap.get(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`);\n if (!mergeResult) {\n for (let col = range.start.col; col <= range.end.col; col++) {\n cellWidth += table.getColWidth(col);\n }\n\n // let cellHeight = 0;\n for (let i = range.start.row; i <= range.end.row; i++) {\n cellHeight += table.getRowHeight(i);\n }\n\n mergeMap.set(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`, {\n cellWidth,\n cellHeight\n });\n } else {\n cellWidth = mergeResult.cellWidth;\n cellHeight = mergeResult.cellHeight;\n }\n return {\n cellWidth,\n cellHeight\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/group-creater/column-helper.ts"],"names":[],"mappings":"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","file":"column-helper.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IGraphic, IThemeSpec } from './../../vrender';\nimport type { CellLocation, CellRange, TextColumnDefine } from '../../ts-types';\nimport type { Group } from '../graphic/group';\nimport { getProp, getRawProp } from '../utils/get-prop';\nimport type { MergeMap } from '../scenegraph';\nimport { createCell } from './cell-helper';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport { getCellCornerRadius, getStyleTheme } from '../../core/tableHelper';\nimport { isPromise } from '../../tools/helper';\nimport { dealPromiseData } from '../utils/deal-promise-data';\nimport { isArray } from '@visactor/vutils';\nimport { dealWithCustom } from '../component/custom';\n/**\n * 创建复合列 同一列支持创建不同类型单元格\n * @param columnGroup 列Group\n * @param col\n * @param colWidth 配置列宽\n * @param rowStart\n * @param rowEnd\n * @param mergeMap merge单元格信息\n * @param defaultRowHeight\n * @param table\n * @param cellLocation\n * @param rowLimit\n * @param customRender\n * @param customLayout\n * @returns\n */\nexport function createComplexColumn(\n columnGroup: Group,\n col: number,\n colWidth: number,\n rowStart: number,\n rowEnd: number,\n mergeMap: MergeMap,\n defaultRowHeight: number | number[],\n table: BaseTableAPI,\n cellLocation: CellLocation,\n rowLimit?: number\n) {\n let padding;\n let textAlign;\n let textBaseline;\n /** useColumnTheme 判断是否可以使用columnTheme */\n // insert cell into column group top\n let y = 0;\n // if (columnGroup.colHeight) {\n // // insert cell into column group bottom\n // y = columnGroup.colHeight;\n // }\n if (columnGroup.lastChild && (columnGroup.lastChild as Group).row === rowStart - 1) {\n y = (columnGroup.lastChild as Group).attribute.y + (columnGroup.lastChild as Group).attribute.height;\n } else if (columnGroup.colHeight) {\n y = columnGroup.colHeight;\n }\n\n for (let j = rowStart; j <= rowEnd; j++) {\n const row = j;\n let value = table.getCellValue(col, row);\n\n // 处理单元格合并\n let cellWidth = colWidth;\n // let cellHeight = table.internalProps.autoRowHeight ? 0 : table.getRowHeight(row);\n let cellHeight = table.getRowHeight(row);\n let range;\n let isMerge;\n let customStyle;\n let customResult;\n if (table.internalProps.customMergeCell) {\n const customMerge = table.getCustomMerge(col, row);\n if (customMerge) {\n const {\n range: customMergeRange,\n text: customMergeText,\n style: customMergeStyle,\n customLayout,\n customRender\n } = customMerge;\n range = customMergeRange;\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n if (isMerge) {\n const needUpdateRange = rowStart > range.start.row;\n const mergeSize = dealMerge(range, mergeMap, table, needUpdateRange);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n value = customMergeText;\n customStyle = customMergeStyle;\n\n if (customLayout || customRender) {\n customResult = dealWithCustom(\n customLayout,\n customRender,\n customMergeRange.start.col,\n customMergeRange.start.row,\n table.getColsWidth(customMergeRange.start.col, customMergeRange.end.col),\n table.getRowsHeight(customMergeRange.start.row, customMergeRange.end.row),\n false,\n table.heightMode === 'autoHeight',\n [0, 0, 0, 0],\n table\n );\n }\n }\n }\n\n let colForDefine = col;\n let rowForDefine = row;\n if (range) {\n colForDefine = range.start.col;\n rowForDefine = range.start.row;\n }\n const define =\n cellLocation !== 'body'\n ? table.getHeaderDefine(colForDefine, rowForDefine)\n : table.getBodyColumnDefine(colForDefine, rowForDefine);\n const mayHaveIcon = cellLocation !== 'body' ? true : !!define?.icon || !!define?.tree;\n\n if (!range && (cellLocation !== 'body' || (define as TextColumnDefine)?.mergeCell)) {\n // 只有表头或者column配置合并单元格后再进行信息获取\n range = table.getCellRange(col, row);\n isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n // 所有Merge单元格,只保留左上角一个真实的单元格,其他使用空Group占位\n if (isMerge) {\n const needUpdateRange = rowStart > range.start.row;\n const mergeSize = dealMerge(range, mergeMap, table, needUpdateRange);\n cellWidth = mergeSize.cellWidth;\n cellHeight = mergeSize.cellHeight;\n }\n }\n\n const cellStyle = customStyle || table._getCellStyle(col, row);\n const cellTheme = getStyleTheme(\n cellStyle,\n table,\n range ? range.start.col : col,\n range ? range.start.row : row,\n getProp\n ).theme;\n cellTheme.group.cornerRadius = getCellCornerRadius(col, row, table);\n cellTheme.group.width = colWidth;\n cellTheme.group.height = Array.isArray(defaultRowHeight) ? defaultRowHeight[row] : defaultRowHeight;\n if (cellTheme._vtable.padding) {\n padding = cellTheme._vtable.padding;\n }\n if (cellTheme.text.textAlign) {\n textAlign = cellTheme.text.textAlign;\n }\n if (cellTheme.text.textBaseline) {\n textBaseline = cellTheme.text.textBaseline;\n }\n\n // enable clip body\n if (cellLocation !== 'body' && !cellTheme.group.fill) {\n cellTheme.group.fill = '#fff';\n }\n // margin = getProp('margin', headerStyle, col, 0, table)\n\n const type =\n (table.isHeader(col, row) ? table._getHeaderLayoutMap(col, row).headerType : table.getBodyColumnType(col, row)) ||\n 'text';\n\n // deal with promise data\n if (isPromise(value)) {\n dealPromiseData(\n value,\n table,\n createCell.bind(\n null,\n type,\n value,\n define,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n )\n );\n columnGroup.updateColumnRowNumber(row);\n const height = table.getRowHeight(row);\n columnGroup.updateColumnHeight(height);\n y += height;\n } else {\n const cellGroup = createCell(\n type,\n value,\n define,\n table,\n col,\n row,\n colWidth,\n cellWidth,\n cellHeight,\n columnGroup,\n y,\n padding,\n textAlign,\n textBaseline,\n mayHaveIcon,\n cellTheme,\n range,\n customResult\n );\n columnGroup.updateColumnRowNumber(row);\n if (isMerge) {\n const rangeHeight = table.getRowHeight(row);\n const rangeWidth = table.getColWidth(col);\n\n const { width: contentWidth } = cellGroup.attribute;\n const { height: contentHeight } = cellGroup.attribute;\n cellGroup.contentWidth = contentWidth;\n cellGroup.contentHeight = contentHeight;\n\n resizeCellGroup(cellGroup, rangeWidth, rangeHeight, range, table);\n columnGroup.updateColumnHeight(rangeHeight);\n y += rangeHeight;\n } else {\n columnGroup.updateColumnHeight(cellGroup.attribute.height);\n y += cellGroup.attribute.height;\n }\n }\n if (rowLimit && row > rowLimit) {\n break;\n }\n }\n\n columnGroup.setAttribute('width', colWidth);\n return {\n width: colWidth,\n height: y\n };\n}\n\n/**\n * 获取列分组主题\n * @param col 列索引\n * @param colWidth 列宽\n * @param table 表格实例\n * @returns 列分组主题\n */\nexport function getColumnGroupTheme(\n col: number,\n colWidth: number,\n table: BaseTableAPI\n): { theme: IThemeSpec & { _vtable: any }; hasFunctionPros: boolean } {\n const style = table._getCellStyle(col, table.columnHeaderLevelCount); // to be fixed\n const { theme: columnTheme, hasFunctionPros } = getStyleTheme(\n style,\n table,\n col,\n table.columnHeaderLevelCount,\n getRawProp\n );\n\n // get column header style\n columnTheme.group.width = colWidth;\n columnTheme.group.height = 0;\n return { theme: columnTheme, hasFunctionPros };\n}\n\nexport function resizeCellGroup(\n cellGroup: Group,\n rangeWidth: number,\n rangeHeight: number,\n range: CellRange,\n table: BaseTableAPI\n) {\n const { col, row } = cellGroup;\n const dx = -table.getColsWidth(range.start.col, col - 1);\n const dy = -table.getRowsHeight(range.start.row, row - 1);\n\n cellGroup.forEachChildren((child: IGraphic) => {\n child.setAttributes({\n dx: (child.attribute.dx ?? 0) + dx,\n dy: (child.attribute.dy ?? 0) + dy\n });\n });\n\n const lineWidth = cellGroup.attribute.lineWidth;\n const isLineWidthArray = isArray(lineWidth);\n const newLineWidth = [0, 0, 0, 0];\n\n if (col === range.start.col) {\n newLineWidth[3] = isLineWidthArray ? lineWidth[3] : lineWidth;\n }\n if (row === range.start.row) {\n newLineWidth[0] = isLineWidthArray ? lineWidth[0] : lineWidth;\n }\n if (col === range.end.col) {\n newLineWidth[1] = isLineWidthArray ? lineWidth[1] : lineWidth;\n }\n if (row === range.end.row) {\n newLineWidth[2] = isLineWidthArray ? lineWidth[2] : lineWidth;\n }\n\n const widthChange = rangeWidth !== cellGroup.attribute.width;\n const heightChange = rangeHeight !== cellGroup.attribute.height;\n\n cellGroup.setAttributes({\n width: rangeWidth,\n height: rangeHeight,\n strokeArrayWidth: newLineWidth\n } as any);\n\n cellGroup.mergeStartCol = range.start.col;\n cellGroup.mergeStartRow = range.start.row;\n cellGroup.mergeEndCol = range.end.col;\n cellGroup.mergeEndRow = range.end.row;\n\n return {\n widthChange,\n heightChange\n };\n}\n\nfunction dealMerge(range: CellRange, mergeMap: MergeMap, table: BaseTableAPI, forceUpdate: boolean) {\n let cellWidth = 0;\n let cellHeight = 0;\n const mergeResult = mergeMap.get(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`);\n if (!mergeResult || forceUpdate) {\n for (let col = range.start.col; col <= range.end.col; col++) {\n cellWidth += table.getColWidth(col);\n }\n\n // let cellHeight = 0;\n for (let i = range.start.row; i <= range.end.row; i++) {\n cellHeight += table.getRowHeight(i);\n }\n\n mergeMap.set(`${range.start.col},${range.start.row};${range.end.col},${range.end.row}`, {\n cellWidth,\n cellHeight\n });\n } else {\n cellWidth = mergeResult.cellWidth;\n cellHeight = mergeResult.cellHeight;\n }\n return {\n cellWidth,\n cellHeight\n };\n}\n"]}
@@ -59,8 +59,11 @@ function sortVertical(proxy) {
59
59
  }
60
60
  let syncTopRow, syncBottomRow;
61
61
  "autoHeight" === proxy.table.heightMode ? (syncTopRow = proxy.rowStart, syncBottomRow = proxy.rowEnd) : (syncTopRow = Math.max(proxy.bodyTopRow, proxy.screenTopRow - 1 * proxy.screenRowCount),
62
- syncBottomRow = Math.min(proxy.bodyBottomRow, proxy.screenTopRow + 2 * proxy.screenRowCount)),
63
- (0, compute_row_height_1.computeRowsHeight)(proxy.table, syncTopRow, syncBottomRow),
62
+ syncBottomRow = Math.min(proxy.bodyBottomRow, proxy.screenTopRow + 2 * proxy.screenRowCount));
63
+ const oldBodyHeight = proxy.table.getAllRowsHeight();
64
+ (0, compute_row_height_1.computeRowsHeight)(proxy.table, syncTopRow, syncBottomRow);
65
+ const newBodyHeight = proxy.table.getAllRowsHeight();
66
+ oldBodyHeight !== newBodyHeight && proxy.table.scenegraph.updateContainerHeight(proxy.table.frozenRowCount, newBodyHeight - oldBodyHeight),
64
67
  (0, dynamic_set_y_1.updateRowContent)(syncTopRow, syncBottomRow, proxy), "autoHeight" === proxy.table.heightMode && (0,
65
68
  update_auto_row_1.updateAutoRow)(proxy.bodyLeftCol, proxy.bodyRightCol, syncTopRow, syncBottomRow, proxy.table, proxy.rowEnd > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up"),
66
69
  proxy.rowUpdatePos = proxy.rowStart, proxy.rowUpdateDirection = proxy.rowEnd > proxy.bodyBottomRow - (proxy.rowEnd - proxy.rowStart + 1) ? "down" : "up",
@@ -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 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 // 更新同步范围\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(proxy.bodyBottomRow, proxy.screenTopRow + proxy.screenRowCount * 2);\n }\n // console.log('sort更新同步范围', syncTopRow, syncBottomRow);\n\n computeRowsHeight(proxy.table, syncTopRow, syncBottomRow);\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"]}
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 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 // 更新同步范围\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(proxy.bodyBottomRow, proxy.screenTopRow + proxy.screenRowCount * 2);\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 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"]}
@@ -82,7 +82,7 @@ class Scenegraph {
82
82
  }
83
83
  clearCells() {
84
84
  var _a;
85
- (this.table.isPivotChart() || this.table.hasCustomRenderOrLayout()) && this.stage.pluginService.findPluginsByName("poptipForText").forEach((plugin => {
85
+ (this.table.isPivotChart() || this.table._hasCustomRenderOrLayout()) && this.stage.pluginService.findPluginsByName("poptipForText").forEach((plugin => {
86
86
  plugin.deactivate(this.stage.pluginService);
87
87
  })), this.clear = !0, this.hasFrozen = !1, this.mergeMap.clear(), this.colHeaderGroup.clear(),
88
88
  this.rowHeaderGroup.clear(), this.cornerHeaderGroup.clear(), this.bodyGroup.clear(),
@@ -154,7 +154,7 @@ class Scenegraph {
154
154
  this.component.updateStyle();
155
155
  }
156
156
  createSceneGraph() {
157
- (this.table.isPivotChart() || this.table.hasCustomRenderOrLayout()) && this.stage.pluginService.autoEnablePlugins.getContributions().forEach((p => {
157
+ (this.table.isPivotChart() || this.table._hasCustomRenderOrLayout()) && this.stage.pluginService.autoEnablePlugins.getContributions().forEach((p => {
158
158
  "poptipForText" === p.name && this.stage.pluginService.register(p);
159
159
  })), this.clear = !1, this.frozenColCount = this.table.frozenColCount, this.frozenRowCount = this.table.columnHeaderLevelCount,
160
160
  this.proxy = new proxy_1.SceneProxy(this.table), (0, frame_border_1.createFrameBorder)(this.tableGroup, this.table.theme.frameStyle, this.tableGroup.role, void 0, !0),
@@ -348,28 +348,43 @@ class Scenegraph {
348
348
  this.proxy.progress(), this.updateNextFrame();
349
349
  }
350
350
  updateTableSize() {
351
- var _a;
351
+ var _a, _b, _c, _d;
352
352
  this.tableGroup.setAttributes({
353
353
  x: this.table.tableX,
354
354
  y: this.table.tableY,
355
355
  width: Math.min(this.table.tableNoFrameWidth, Math.max(this.colHeaderGroup.attribute.width, this.bodyGroup.attribute.width, this.bottomFrozenGroup.attribute.width, 0) + Math.max(this.cornerHeaderGroup.attribute.width, this.rowHeaderGroup.attribute.width, this.leftBottomCornerGroup.attribute.width, 0) + Math.max(this.rightTopCornerGroup.attribute.width, this.rightFrozenGroup.attribute.width, this.rightBottomCornerGroup.attribute.width, 0)),
356
356
  height: Math.min(this.table.tableNoFrameHeight, Math.max(this.colHeaderGroup.attribute.height, this.cornerHeaderGroup.attribute.height, this.rightTopCornerGroup.attribute.height, 0) + Math.max(this.rowHeaderGroup.attribute.height, this.bodyGroup.attribute.height, this.rightFrozenGroup.attribute.height, 0) + Math.max(this.leftBottomCornerGroup.attribute.height, this.bottomFrozenGroup.attribute.height, this.rightBottomCornerGroup.attribute.height, 0))
357
- }), this.tableGroup.border && "rect" === this.tableGroup.border.type ? this.tableGroup.border.setAttributes({
357
+ }), this.tableGroup.border && "rect" === this.tableGroup.border.type ? (null === (_a = this.table.theme.frameStyle) || void 0 === _a ? void 0 : _a.innerBorder) ? this.tableGroup.border.setAttributes({
358
+ x: this.table.tableX + this.tableGroup.border.attribute.lineWidth / 2,
359
+ y: this.table.tableY + this.tableGroup.border.attribute.lineWidth / 2,
360
+ width: this.tableGroup.attribute.width - this.tableGroup.border.attribute.lineWidth,
361
+ height: this.tableGroup.attribute.height - this.tableGroup.border.attribute.lineWidth
362
+ }) : this.tableGroup.border.setAttributes({
358
363
  x: this.table.tableX - this.tableGroup.border.attribute.lineWidth / 2,
359
364
  y: this.table.tableY - this.tableGroup.border.attribute.lineWidth / 2,
360
365
  width: this.tableGroup.attribute.width + this.tableGroup.border.attribute.lineWidth,
361
366
  height: this.tableGroup.attribute.height + this.tableGroup.border.attribute.lineWidth
362
- }) : this.tableGroup.border && "group" === this.tableGroup.border.type && (this.tableGroup.border.setAttributes({
367
+ }) : this.tableGroup.border && "group" === this.tableGroup.border.type && ((null === (_b = this.table.theme.frameStyle) || void 0 === _b ? void 0 : _b.innerBorder) ? (this.tableGroup.border.setAttributes({
368
+ x: this.table.tableX + this.tableGroup.border.attribute.lineWidth / 2,
369
+ y: this.table.tableY + this.tableGroup.border.attribute.lineWidth / 2,
370
+ width: this.tableGroup.attribute.width - this.tableGroup.border.attribute.lineWidth,
371
+ height: this.tableGroup.attribute.height - this.tableGroup.border.attribute.lineWidth
372
+ }), null === (_c = this.tableGroup.border.firstChild) || void 0 === _c || _c.setAttributes({
373
+ x: 0,
374
+ y: 0,
375
+ width: this.tableGroup.attribute.width - this.tableGroup.border.attribute.lineWidth,
376
+ height: this.tableGroup.attribute.height - this.tableGroup.border.attribute.lineWidth
377
+ })) : (this.tableGroup.border.setAttributes({
363
378
  x: this.table.tableX - this.tableGroup.border.attribute.lineWidth / 2,
364
379
  y: this.table.tableY - this.tableGroup.border.attribute.lineWidth / 2,
365
380
  width: this.tableGroup.attribute.width + this.tableGroup.border.attribute.lineWidth,
366
381
  height: this.tableGroup.attribute.height + this.tableGroup.border.attribute.lineWidth
367
- }), null === (_a = this.tableGroup.border.firstChild) || void 0 === _a || _a.setAttributes({
382
+ }), null === (_d = this.tableGroup.border.firstChild) || void 0 === _d || _d.setAttributes({
368
383
  x: this.tableGroup.border.attribute.lineWidth / 2,
369
384
  y: this.tableGroup.border.attribute.lineWidth / 2,
370
385
  width: this.tableGroup.attribute.width,
371
386
  height: this.tableGroup.attribute.height
372
- })), this.table.bottomFrozenRowCount > 0 && (this.bottomFrozenGroup.setAttribute("y", this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height),
387
+ }))), this.table.bottomFrozenRowCount > 0 && (this.bottomFrozenGroup.setAttribute("y", this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height),
373
388
  this.leftBottomCornerGroup.setAttributes({
374
389
  visible: !0,
375
390
  y: this.tableGroup.attribute.height - this.bottomFrozenGroup.attribute.height,
@@ -587,10 +602,8 @@ class Scenegraph {
587
602
  this.bottomFrozenGroup.setAttribute("x", this.table.getFrozenColsWidth()), this.bodyGroup.setAttribute("x", this.rowHeaderGroup.attribute.width);
588
603
  }
589
604
  updateContainer() {
590
- this.updateContainerAttrWidthAndX(), this.updateTableSize();
591
- const oldHorizontalBarPos = this.table.stateManager.scroll.horizontalBarPos, oldVerticalBarPos = this.table.stateManager.scroll.verticalBarPos;
592
- this.component.updateScrollBar(), this.table.stateManager.setScrollLeft(oldHorizontalBarPos),
593
- this.table.stateManager.setScrollTop(oldVerticalBarPos), this.updateNextFrame();
605
+ this.updateContainerAttrWidthAndX(), this.updateTableSize(), this.component.updateScrollBar(),
606
+ this.updateNextFrame();
594
607
  }
595
608
  updateCellContentWhileResize(col, row) {
596
609
  const type = this.table.getBodyColumnType(col, row), cellGroup = this.getCell(col, row);