@visactor/vtable 0.23.1-alpha.0 → 0.23.1-alpha.2

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 (155) hide show
  1. package/cjs/ListTable.js +1 -1
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotChart.d.ts +1 -0
  4. package/cjs/PivotChart.js +4 -0
  5. package/cjs/PivotChart.js.map +1 -1
  6. package/cjs/components/axis/axis.js +3 -2
  7. package/cjs/components/axis/axis.js.map +1 -1
  8. package/cjs/components/legend/discrete-legend/discrete-legend.js +2 -1
  9. package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  10. package/cjs/core/BaseTable.d.ts +15 -0
  11. package/cjs/core/BaseTable.js +74 -29
  12. package/cjs/core/BaseTable.js.map +1 -1
  13. package/cjs/core/FouseInput.d.ts +1 -0
  14. package/cjs/core/FouseInput.js +5 -2
  15. package/cjs/core/FouseInput.js.map +1 -1
  16. package/cjs/data/DataSource.d.ts +1 -1
  17. package/cjs/data/DataSource.js +14 -3
  18. package/cjs/data/DataSource.js.map +1 -1
  19. package/cjs/event/event.d.ts +4 -0
  20. package/cjs/event/event.js +6 -5
  21. package/cjs/event/event.js.map +1 -1
  22. package/cjs/event/listener/container-dom.js +66 -27
  23. package/cjs/event/listener/container-dom.js.map +1 -1
  24. package/cjs/event/listener/table-group.js +1 -1
  25. package/cjs/event/listener/table-group.js.map +1 -1
  26. package/cjs/event/listener/touch.js +7 -18
  27. package/cjs/event/listener/touch.js.map +1 -1
  28. package/cjs/event/scroll.d.ts +16 -1
  29. package/cjs/event/scroll.js +38 -5
  30. package/cjs/event/scroll.js.map +1 -1
  31. package/cjs/event/util.js +2 -2
  32. package/cjs/event/util.js.map +1 -1
  33. package/cjs/index.d.ts +1 -1
  34. package/cjs/index.js +1 -1
  35. package/cjs/index.js.map +1 -1
  36. package/cjs/layout/simple-header-layout.js +1 -1
  37. package/cjs/layout/simple-header-layout.js.map +1 -1
  38. package/cjs/scenegraph/component/table-component.js +1 -1
  39. package/cjs/scenegraph/component/table-component.js.map +1 -1
  40. package/cjs/scenegraph/debug-tool/debug-tool.js +4 -1
  41. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  42. package/cjs/scenegraph/graphic/chart.d.ts +1 -0
  43. package/cjs/scenegraph/graphic/chart.js +34 -20
  44. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  45. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +20 -8
  46. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  47. package/cjs/scenegraph/graphic/contributions/chart-render.d.ts +2 -1
  48. package/cjs/scenegraph/graphic/contributions/chart-render.js +40 -24
  49. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  50. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +2 -1
  51. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  52. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +2 -1
  53. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  54. package/cjs/scenegraph/icon/icon-update.js +2 -0
  55. package/cjs/scenegraph/icon/icon-update.js.map +1 -1
  56. package/cjs/scenegraph/layout/update-row.js +2 -3
  57. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  58. package/cjs/scenegraph/refresh-node/update-chart.d.ts +1 -0
  59. package/cjs/scenegraph/refresh-node/update-chart.js +9 -2
  60. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  61. package/cjs/scenegraph/scenegraph.js +14 -8
  62. package/cjs/scenegraph/scenegraph.js.map +1 -1
  63. package/cjs/state/cell-move/index.js +2 -2
  64. package/cjs/state/cell-move/index.js.map +1 -1
  65. package/cjs/state/select/update-position.d.ts +1 -1
  66. package/cjs/state/select/update-position.js +4 -4
  67. package/cjs/state/select/update-position.js.map +1 -1
  68. package/cjs/state/state.d.ts +1 -1
  69. package/cjs/state/state.js +8 -4
  70. package/cjs/state/state.js.map +1 -1
  71. package/cjs/tools/diff-cell.d.ts +1 -1
  72. package/cjs/tools/diff-cell.js +3 -3
  73. package/cjs/tools/diff-cell.js.map +1 -1
  74. package/cjs/ts-types/base-table.d.ts +23 -1
  75. package/cjs/ts-types/base-table.js.map +1 -1
  76. package/cjs/vrender.js.map +1 -1
  77. package/dist/vtable.js +1372 -786
  78. package/dist/vtable.min.js +2 -2
  79. package/es/ListTable.js +1 -1
  80. package/es/ListTable.js.map +1 -1
  81. package/es/PivotChart.d.ts +1 -0
  82. package/es/PivotChart.js +5 -2
  83. package/es/PivotChart.js.map +1 -1
  84. package/es/components/axis/axis.js +3 -1
  85. package/es/components/axis/axis.js.map +1 -1
  86. package/es/components/legend/discrete-legend/discrete-legend.js +2 -1
  87. package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  88. package/es/core/BaseTable.d.ts +15 -0
  89. package/es/core/BaseTable.js +73 -28
  90. package/es/core/BaseTable.js.map +1 -1
  91. package/es/core/FouseInput.d.ts +1 -0
  92. package/es/core/FouseInput.js +5 -2
  93. package/es/core/FouseInput.js.map +1 -1
  94. package/es/data/DataSource.d.ts +1 -1
  95. package/es/data/DataSource.js +13 -4
  96. package/es/data/DataSource.js.map +1 -1
  97. package/es/event/event.d.ts +4 -0
  98. package/es/event/event.js +7 -4
  99. package/es/event/event.js.map +1 -1
  100. package/es/event/listener/container-dom.js +67 -26
  101. package/es/event/listener/container-dom.js.map +1 -1
  102. package/es/event/listener/table-group.js +1 -1
  103. package/es/event/listener/table-group.js.map +1 -1
  104. package/es/event/listener/touch.js +7 -18
  105. package/es/event/listener/touch.js.map +1 -1
  106. package/es/event/scroll.d.ts +16 -1
  107. package/es/event/scroll.js +33 -2
  108. package/es/event/scroll.js.map +1 -1
  109. package/es/event/util.js +2 -2
  110. package/es/event/util.js.map +1 -1
  111. package/es/index.d.ts +1 -1
  112. package/es/index.js +1 -1
  113. package/es/index.js.map +1 -1
  114. package/es/layout/simple-header-layout.js +1 -1
  115. package/es/layout/simple-header-layout.js.map +1 -1
  116. package/es/scenegraph/component/table-component.js +1 -1
  117. package/es/scenegraph/component/table-component.js.map +1 -1
  118. package/es/scenegraph/debug-tool/debug-tool.js +4 -1
  119. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  120. package/es/scenegraph/graphic/chart.d.ts +1 -0
  121. package/es/scenegraph/graphic/chart.js +33 -21
  122. package/es/scenegraph/graphic/chart.js.map +1 -1
  123. package/es/scenegraph/graphic/contributions/chart-render-helper.js +20 -8
  124. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  125. package/es/scenegraph/graphic/contributions/chart-render.d.ts +2 -1
  126. package/es/scenegraph/graphic/contributions/chart-render.js +41 -25
  127. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  128. package/es/scenegraph/group-creater/cell-type/chart-cell.js +2 -1
  129. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  130. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +2 -1
  131. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  132. package/es/scenegraph/icon/icon-update.js +2 -0
  133. package/es/scenegraph/icon/icon-update.js.map +1 -1
  134. package/es/scenegraph/layout/update-row.js +2 -3
  135. package/es/scenegraph/layout/update-row.js.map +1 -1
  136. package/es/scenegraph/refresh-node/update-chart.d.ts +1 -0
  137. package/es/scenegraph/refresh-node/update-chart.js +6 -0
  138. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  139. package/es/scenegraph/scenegraph.js +14 -8
  140. package/es/scenegraph/scenegraph.js.map +1 -1
  141. package/es/state/cell-move/index.js +2 -2
  142. package/es/state/cell-move/index.js.map +1 -1
  143. package/es/state/select/update-position.d.ts +1 -1
  144. package/es/state/select/update-position.js +4 -4
  145. package/es/state/select/update-position.js.map +1 -1
  146. package/es/state/state.d.ts +1 -1
  147. package/es/state/state.js +8 -4
  148. package/es/state/state.js.map +1 -1
  149. package/es/tools/diff-cell.d.ts +1 -1
  150. package/es/tools/diff-cell.js +3 -3
  151. package/es/tools/diff-cell.js.map +1 -1
  152. package/es/ts-types/base-table.d.ts +23 -1
  153. package/es/ts-types/base-table.js.map +1 -1
  154. package/es/vrender.js.map +1 -1
  155. package/package.json +5 -5
@@ -19,7 +19,8 @@ class DiscreteTableLegend {
19
19
  width: this.table.tableNoFrameWidth,
20
20
  height: this.table.tableNoFrameHeight
21
21
  }), legend = new vrender_components_1.DiscreteLegend((0, vutils_1.merge)({}, attrs, {
22
- defaultSelected: this.selectedData
22
+ defaultSelected: this.selectedData,
23
+ disableTriggerEvent: this.table.options.disableInteraction
23
24
  }));
24
25
  legend.name = "legend", this.legendComponent = legend, this.table.scenegraph.stage.defaultLayer.appendChild(legend),
25
26
  this.adjustTableSize(attrs);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/legend/discrete-legend/discrete-legend.ts"],"names":[],"mappings":"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","file":"discrete-legend.js","sourcesContent":["import { cloneDeep, get, merge } from '@visactor/vutils';\nimport type { IDiscreteTableLegendOption } from '../../../ts-types/component/legend';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimport { DiscreteLegend, LegendEvent } from '@visactor/vrender-components';\nimport { getLegendAttributes } from './get-discrete-legend-attributes';\nimport { TABLE_EVENT_TYPE } from '../../../core/TABLE_EVENT_TYPE';\nimport { getQuadProps } from '../../../scenegraph/utils/padding';\nimport type { IOrientType } from '../../../ts-types/component/util';\n\nexport class DiscreteTableLegend {\n table: BaseTableAPI;\n option: IDiscreteTableLegendOption;\n orient: IOrientType;\n visible: boolean;\n position: 'start' | 'middle' | 'end';\n selectedData: (string | number)[];\n legendComponent: DiscreteLegend;\n\n constructor(option: IDiscreteTableLegendOption, table: BaseTableAPI) {\n this.table = table;\n this.option = cloneDeep(option);\n this.orient = option.orient ?? 'left';\n this.visible = option.visible ?? true;\n this.position = option.position ?? 'middle';\n this.selectedData = option.defaultSelected ?? null;\n\n this.createComponent();\n this.initEvent();\n }\n\n createComponent() {\n const attrs = this.getLegendAttributes({\n width: this.table.tableNoFrameWidth,\n height: this.table.tableNoFrameHeight\n });\n const legend = new DiscreteLegend(\n merge({}, attrs, {\n defaultSelected: this.selectedData\n })\n );\n legend.name = 'legend';\n this.legendComponent = legend;\n this.table.scenegraph.stage.defaultLayer.appendChild(legend);\n\n this.adjustTableSize(attrs);\n }\n\n resize() {\n if (!this.legendComponent) {\n return;\n }\n\n this.legendComponent.setAttributes({\n width: this.table.tableNoFrameWidth,\n height: this.table.tableNoFrameHeight\n });\n\n this.adjustTableSize(this.legendComponent.attribute);\n }\n\n adjustTableSize(attrs: any) {\n // 调整位置\n let width = isFinite(this.legendComponent.AABBBounds.width()) ? this.legendComponent.AABBBounds.width() : 0;\n let height = isFinite(this.legendComponent.AABBBounds.height()) ? this.legendComponent.AABBBounds.height() : 0;\n if (width <= 0 || height <= 0) {\n return;\n }\n const rectWidth = this.table.tableNoFrameWidth;\n const rectHeight = this.table.tableNoFrameHeight;\n const padding = getQuadProps(attrs.padding ?? this.option.padding ?? 10);\n\n let x = 0;\n let y = 0;\n if (this.orient === 'left') {\n x = padding[3];\n y = 0;\n width += padding[1] + padding[3];\n } else if (this.orient === 'top') {\n x = 0;\n y = padding[0];\n height += padding[0] + padding[2];\n } else if (this.orient === 'right') {\n x = rectWidth - width - padding[1];\n y = 0;\n width += padding[1] + padding[3];\n } else if (this.orient === 'bottom') {\n x = 0;\n y = rectHeight - height - padding[2];\n height += padding[0] + padding[2];\n }\n\n const layout = this.orient === 'bottom' || this.orient === 'top' ? 'horizontal' : 'vertical';\n const position = this.position;\n // const { width: rectWidth, height: rectHeight } = fullSpace;\n let offsetX = 0;\n let offsetY = 0;\n if (layout === 'horizontal') {\n if (position === 'middle') {\n offsetX = (rectWidth - width) / 2;\n } else if (position === 'end') {\n offsetX = rectWidth - width - padding[1];\n } else {\n offsetX = padding[3];\n }\n } else {\n if (position === 'middle') {\n offsetY = (rectHeight - height) / 2;\n } else if (position === 'end') {\n offsetY = rectHeight - height - padding[2];\n } else {\n offsetY = padding[0];\n }\n }\n\n this.legendComponent.setAttributes({\n dx: offsetX,\n dy: offsetY,\n x,\n y\n });\n\n // update table size\n if (this.orient === 'left') {\n this.table.tableNoFrameWidth = this.table.tableNoFrameWidth - Math.ceil(width);\n this.table.tableX += Math.ceil(width);\n } else if (this.orient === 'top') {\n this.table.tableNoFrameHeight = this.table.tableNoFrameHeight - Math.ceil(height);\n this.table.tableY += Math.ceil(height);\n } else if (this.orient === 'right') {\n this.table.tableNoFrameWidth = this.table.tableNoFrameWidth - Math.ceil(width);\n } else if (this.orient === 'bottom') {\n this.table.tableNoFrameHeight = this.table.tableNoFrameHeight - Math.ceil(height);\n }\n }\n\n getLegendAttributes(rect: any) {\n const layout = this.orient === 'bottom' || this.orient === 'top' ? 'horizontal' : 'vertical';\n const attrs = {\n layout,\n items: this.getLegendItems(),\n // zIndex: this.layoutZIndex,\n maxWidth: rect.width,\n maxHeight: rect.height,\n ...getLegendAttributes(this.option, rect)\n };\n return attrs;\n }\n\n getLegendItems() {\n return this.option.data;\n }\n\n initEvent() {\n if (this.legendComponent) {\n this.legendComponent.addEventListener(LegendEvent.legendItemClick, (e: any) => {\n const selectedData = get(e, 'detail.currentSelected');\n this.table.fireListeners(TABLE_EVENT_TYPE.LEGEND_ITEM_CLICK, { model: this, value: selectedData, event: e });\n });\n\n this.legendComponent.addEventListener(LegendEvent.legendItemHover, (e: any) => {\n const detail = get(e, 'detail');\n this.table.fireListeners(TABLE_EVENT_TYPE.LEGEND_ITEM_HOVER, { model: this, value: detail, event: e });\n });\n\n this.legendComponent.addEventListener(LegendEvent.legendItemUnHover, (e: any) => {\n const detail = get(e, 'detail');\n this.table.fireListeners(TABLE_EVENT_TYPE.LEGEND_ITEM_UNHOVER, { model: this, value: detail, event: e });\n });\n\n // wait for vrender-vcomponent version update\n this.legendComponent.addEventListener('legendItemAttributeUpdate', (e: any) => {\n this.table.scenegraph.updateNextFrame();\n });\n }\n }\n\n getLegendBounds() {\n const width = isFinite(this.legendComponent.AABBBounds.width()) ? this.legendComponent.AABBBounds.width() : 0;\n const height = isFinite(this.legendComponent.AABBBounds.height()) ? this.legendComponent.AABBBounds.height() : 0;\n\n return {\n width: width,\n height: height\n };\n }\n release() {\n this.legendComponent && this.table.scenegraph.stage.defaultLayer.removeChild(this.legendComponent);\n this.legendComponent = null;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/components/legend/discrete-legend/discrete-legend.ts"],"names":[],"mappings":"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","file":"discrete-legend.js","sourcesContent":["import { cloneDeep, get, merge } from '@visactor/vutils';\nimport type { IDiscreteTableLegendOption } from '../../../ts-types/component/legend';\nimport type { BaseTableAPI } from '../../../ts-types/base-table';\nimport { DiscreteLegend, LegendEvent } from '@visactor/vrender-components';\nimport { getLegendAttributes } from './get-discrete-legend-attributes';\nimport { TABLE_EVENT_TYPE } from '../../../core/TABLE_EVENT_TYPE';\nimport { getQuadProps } from '../../../scenegraph/utils/padding';\nimport type { IOrientType } from '../../../ts-types/component/util';\n\nexport class DiscreteTableLegend {\n table: BaseTableAPI;\n option: IDiscreteTableLegendOption;\n orient: IOrientType;\n visible: boolean;\n position: 'start' | 'middle' | 'end';\n selectedData: (string | number)[];\n legendComponent: DiscreteLegend;\n\n constructor(option: IDiscreteTableLegendOption, table: BaseTableAPI) {\n this.table = table;\n this.option = cloneDeep(option);\n this.orient = option.orient ?? 'left';\n this.visible = option.visible ?? true;\n this.position = option.position ?? 'middle';\n this.selectedData = option.defaultSelected ?? null;\n\n this.createComponent();\n this.initEvent();\n }\n\n createComponent() {\n const attrs = this.getLegendAttributes({\n width: this.table.tableNoFrameWidth,\n height: this.table.tableNoFrameHeight\n });\n const legend = new DiscreteLegend(\n merge({}, attrs, {\n defaultSelected: this.selectedData,\n disableTriggerEvent: this.table.options.disableInteraction\n })\n );\n legend.name = 'legend';\n this.legendComponent = legend;\n this.table.scenegraph.stage.defaultLayer.appendChild(legend);\n\n this.adjustTableSize(attrs);\n }\n\n resize() {\n if (!this.legendComponent) {\n return;\n }\n\n this.legendComponent.setAttributes({\n width: this.table.tableNoFrameWidth,\n height: this.table.tableNoFrameHeight\n });\n\n this.adjustTableSize(this.legendComponent.attribute);\n }\n\n adjustTableSize(attrs: any) {\n // 调整位置\n let width = isFinite(this.legendComponent.AABBBounds.width()) ? this.legendComponent.AABBBounds.width() : 0;\n let height = isFinite(this.legendComponent.AABBBounds.height()) ? this.legendComponent.AABBBounds.height() : 0;\n if (width <= 0 || height <= 0) {\n return;\n }\n const rectWidth = this.table.tableNoFrameWidth;\n const rectHeight = this.table.tableNoFrameHeight;\n const padding = getQuadProps(attrs.padding ?? this.option.padding ?? 10);\n\n let x = 0;\n let y = 0;\n if (this.orient === 'left') {\n x = padding[3];\n y = 0;\n width += padding[1] + padding[3];\n } else if (this.orient === 'top') {\n x = 0;\n y = padding[0];\n height += padding[0] + padding[2];\n } else if (this.orient === 'right') {\n x = rectWidth - width - padding[1];\n y = 0;\n width += padding[1] + padding[3];\n } else if (this.orient === 'bottom') {\n x = 0;\n y = rectHeight - height - padding[2];\n height += padding[0] + padding[2];\n }\n\n const layout = this.orient === 'bottom' || this.orient === 'top' ? 'horizontal' : 'vertical';\n const position = this.position;\n // const { width: rectWidth, height: rectHeight } = fullSpace;\n let offsetX = 0;\n let offsetY = 0;\n if (layout === 'horizontal') {\n if (position === 'middle') {\n offsetX = (rectWidth - width) / 2;\n } else if (position === 'end') {\n offsetX = rectWidth - width - padding[1];\n } else {\n offsetX = padding[3];\n }\n } else {\n if (position === 'middle') {\n offsetY = (rectHeight - height) / 2;\n } else if (position === 'end') {\n offsetY = rectHeight - height - padding[2];\n } else {\n offsetY = padding[0];\n }\n }\n\n this.legendComponent.setAttributes({\n dx: offsetX,\n dy: offsetY,\n x,\n y\n });\n\n // update table size\n if (this.orient === 'left') {\n this.table.tableNoFrameWidth = this.table.tableNoFrameWidth - Math.ceil(width);\n this.table.tableX += Math.ceil(width);\n } else if (this.orient === 'top') {\n this.table.tableNoFrameHeight = this.table.tableNoFrameHeight - Math.ceil(height);\n this.table.tableY += Math.ceil(height);\n } else if (this.orient === 'right') {\n this.table.tableNoFrameWidth = this.table.tableNoFrameWidth - Math.ceil(width);\n } else if (this.orient === 'bottom') {\n this.table.tableNoFrameHeight = this.table.tableNoFrameHeight - Math.ceil(height);\n }\n }\n\n getLegendAttributes(rect: any) {\n const layout = this.orient === 'bottom' || this.orient === 'top' ? 'horizontal' : 'vertical';\n const attrs = {\n layout,\n items: this.getLegendItems(),\n // zIndex: this.layoutZIndex,\n maxWidth: rect.width,\n maxHeight: rect.height,\n ...getLegendAttributes(this.option, rect)\n };\n return attrs;\n }\n\n getLegendItems() {\n return this.option.data;\n }\n\n initEvent() {\n if (this.legendComponent) {\n this.legendComponent.addEventListener(LegendEvent.legendItemClick, (e: any) => {\n const selectedData = get(e, 'detail.currentSelected');\n this.table.fireListeners(TABLE_EVENT_TYPE.LEGEND_ITEM_CLICK, { model: this, value: selectedData, event: e });\n });\n\n this.legendComponent.addEventListener(LegendEvent.legendItemHover, (e: any) => {\n const detail = get(e, 'detail');\n this.table.fireListeners(TABLE_EVENT_TYPE.LEGEND_ITEM_HOVER, { model: this, value: detail, event: e });\n });\n\n this.legendComponent.addEventListener(LegendEvent.legendItemUnHover, (e: any) => {\n const detail = get(e, 'detail');\n this.table.fireListeners(TABLE_EVENT_TYPE.LEGEND_ITEM_UNHOVER, { model: this, value: detail, event: e });\n });\n\n // wait for vrender-vcomponent version update\n this.legendComponent.addEventListener('legendItemAttributeUpdate', (e: any) => {\n this.table.scenegraph.updateNextFrame();\n });\n }\n }\n\n getLegendBounds() {\n const width = isFinite(this.legendComponent.AABBBounds.width()) ? this.legendComponent.AABBBounds.width() : 0;\n const height = isFinite(this.legendComponent.AABBBounds.height()) ? this.legendComponent.AABBBounds.height() : 0;\n\n return {\n width: width,\n height: height\n };\n }\n release() {\n this.legendComponent && this.table.scenegraph.stage.defaultLayer.removeChild(this.legendComponent);\n this.legendComponent = null;\n }\n}\n"]}
@@ -9,6 +9,7 @@ import { Scenegraph } from '../scenegraph/scenegraph';
9
9
  import { StateManager } from '../state/state';
10
10
  import { EventManager } from '../event/event';
11
11
  import type { CachedDataSource, DataSource } from '../data';
12
+ import type { IBoundsLike } from '@visactor/vutils';
12
13
  import { type ITextSize } from '@visactor/vutils';
13
14
  import type { ColumnData, ColumnDefine, ColumnsDefine, IndicatorData, SeriesNumberColumnData } from '../ts-types/list-table/layout-map/api';
14
15
  import type { TooltipOptions } from '../ts-types/tooltip';
@@ -126,6 +127,8 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
126
127
  _adjustColWidth(col: number, orgWidth: number): number;
127
128
  setPixelRatio(pixelRatio: number): void;
128
129
  _updateSize(): void;
130
+ updateViewBox(newViewBox: IBoundsLike): void;
131
+ setViewBoxTransform(a: number, b: number, c: number, d: number, e: number, f: number): void;
129
132
  get rowHierarchyType(): 'grid' | 'tree';
130
133
  getColsWidth(startCol: number, endCol: number): number;
131
134
  getRowHeight(row: number): number;
@@ -236,6 +239,18 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
236
239
  bottom: number;
237
240
  height: number;
238
241
  } | null;
242
+ getTargetColAtConsiderRightFrozen(absoluteX: number, isConsider: boolean): {
243
+ col: number;
244
+ left: number;
245
+ right: number;
246
+ width: number;
247
+ } | null;
248
+ getTargetRowAtConsiderBottomFrozen(absoluteY: number, isConsider: boolean): {
249
+ row: number;
250
+ top: number;
251
+ bottom: number;
252
+ height: number;
253
+ } | null;
239
254
  private computeTargetRowByY;
240
255
  private computeTargetColByX;
241
256
  clearSelected(): void;
@@ -45,9 +45,9 @@ class BaseTable extends EventTarget_1.EventTarget {
45
45
  }
46
46
  constructor(container, options = {}) {
47
47
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
48
- if (super(), this.showFrozenIcon = !0, this.version = "0.23.1-alpha.0", this.id = `VTable${Date.now()}`,
48
+ if (super(), this.showFrozenIcon = !0, this.version = "0.23.1-alpha.2", this.id = `VTable${Date.now()}`,
49
49
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200),
50
- !container && "node" !== options.mode) throw new Error("vtable's container is undefined");
50
+ !container && "node" !== options.mode && !options.canvas) throw new Error("vtable's container is undefined");
51
51
  const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, autoFillHeight: autoFillHeight = !1, keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = pixel_ratio_1.defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
52
52
  this.container = container, this.options = options, this._widthMode = widthMode,
53
53
  this._heightMode = heightMode, this._autoFillWidth = autoFillWidth, this._autoFillHeight = autoFillHeight,
@@ -64,8 +64,10 @@ class BaseTable extends EventTarget_1.EventTarget {
64
64
  this.columnWidthComputeMode = null !== (_a = options.columnWidthComputeMode) && void 0 !== _a ? _a : "normal";
65
65
  const internalProps = this.internalProps = {};
66
66
  void 0 !== showFrozenIcon && (this.showFrozenIcon = showFrozenIcon), "number" == typeof allowFrozenColCount && allowFrozenColCount <= 0 && (this.showFrozenIcon = !1),
67
- "node" !== env_1.Env.mode && (internalProps.element = (0, tableHelper_1.createRootElement)(this.padding),
68
- internalProps.focusControl = new FouseInput_1.FocusInput(this, internalProps.element),
67
+ this.options.canvas ? (internalProps.element = this.options.canvas.parentElement,
68
+ internalProps.element.style.position = "relative", internalProps.focusControl = new FouseInput_1.FocusInput(this, internalProps.element),
69
+ internalProps.canvas = this.options.canvas, internalProps.context = internalProps.canvas.getContext("2d")) : "node" !== env_1.Env.mode && (internalProps.element = (0,
70
+ tableHelper_1.createRootElement)(this.padding), internalProps.focusControl = new FouseInput_1.FocusInput(this, internalProps.element),
69
71
  internalProps.canvas = document.createElement("canvas"), internalProps.element.appendChild(internalProps.canvas),
70
72
  internalProps.context = internalProps.canvas.getContext("2d")), internalProps.handler = new EventHandler_1.EventHandler,
71
73
  (0, vutils_1.isNumber)(this.options.resizeTime) && (internalProps.handler.resizeTime = this.options.resizeTime),
@@ -300,31 +302,40 @@ class BaseTable extends EventTarget_1.EventTarget {
300
302
  this.internalProps.pixelRatio = pixelRatio, this.scenegraph.setPixelRatio(pixelRatio);
301
303
  }
302
304
  _updateSize() {
303
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
305
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
304
306
  const {padding: padding} = this;
305
307
  let widthP = 0, heightP = 0;
306
- if ("browser" === env_1.Env.mode) {
307
- const element = this.getElement(), width1 = null !== (_b = null === (_a = element.parentElement) || void 0 === _a ? void 0 : _a.offsetWidth) && void 0 !== _b ? _b : 0, height1 = null !== (_d = null === (_c = element.parentElement) || void 0 === _c ? void 0 : _c.offsetHeight) && void 0 !== _d ? _d : 0;
308
+ if (this.tableX = 0, this.tableY = 0, this.options.canvas && this.options.viewBox) widthP = this.options.viewBox.x2 - this.options.viewBox.x1,
309
+ heightP = this.options.viewBox.y2 - this.options.viewBox.y1, (null === (_a = null == this ? void 0 : this.scenegraph) || void 0 === _a ? void 0 : _a.stage) && (this.options.viewBox ? this.scenegraph.stage.setViewBox(this.options.viewBox, !1) : this.scenegraph.stage.resize(widthP, heightP)); else if ("browser" === env_1.Env.mode) {
310
+ const element = this.getElement(), width1 = null !== (_c = null === (_b = element.parentElement) || void 0 === _b ? void 0 : _b.offsetWidth) && void 0 !== _c ? _c : 0, height1 = null !== (_e = null === (_d = element.parentElement) || void 0 === _d ? void 0 : _d.offsetHeight) && void 0 !== _e ? _e : 0;
308
311
  element.style.width = width1 && width1 - padding.left - padding.right + "px" || "0px",
309
312
  element.style.height = height1 && height1 - padding.top - padding.bottom + "px" || "0px";
310
313
  const {canvas: canvas} = this.internalProps;
311
- widthP = null !== (_f = null === (_e = canvas.parentElement) || void 0 === _e ? void 0 : _e.offsetWidth) && void 0 !== _f ? _f : 0,
312
- heightP = null !== (_h = null === (_g = canvas.parentElement) || void 0 === _g ? void 0 : _g.offsetHeight) && void 0 !== _h ? _h : 0,
313
- (null === (_j = null == this ? void 0 : this.scenegraph) || void 0 === _j ? void 0 : _j.stage) ? this.scenegraph.stage.resize(widthP, heightP) : (canvas.style.width = "",
314
+ widthP = null !== (_g = null === (_f = canvas.parentElement) || void 0 === _f ? void 0 : _f.offsetWidth) && void 0 !== _g ? _g : 0,
315
+ heightP = null !== (_j = null === (_h = canvas.parentElement) || void 0 === _h ? void 0 : _h.offsetHeight) && void 0 !== _j ? _j : 0,
316
+ (null === (_k = null == this ? void 0 : this.scenegraph) || void 0 === _k ? void 0 : _k.stage) ? this.scenegraph.stage.resize(widthP, heightP) : (canvas.style.width = "",
314
317
  canvas.style.height = "", canvas.width = widthP, canvas.height = heightP, canvas.style.width = `${widthP}px`,
315
318
  canvas.style.height = `${heightP}px`);
316
319
  } else "node" === env_1.Env.mode && (widthP = this.canvasWidth - 1, heightP = this.canvasHeight - 1);
317
320
  const width = Math.floor(widthP - style.getScrollBarSize(this.getTheme().scrollStyle)), height = Math.floor(heightP - style.getScrollBarSize(this.getTheme().scrollStyle));
318
- if (null === (_k = this.internalProps.theme) || void 0 === _k ? void 0 : _k.frameStyle) {
319
- const lineWidths = toBoxArray(null !== (_m = null === (_l = this.internalProps.theme.frameStyle) || void 0 === _l ? void 0 : _l.borderLineWidth) && void 0 !== _m ? _m : [ null ]), shadowWidths = toBoxArray(null !== (_p = null === (_o = this.internalProps.theme.frameStyle) || void 0 === _o ? void 0 : _o.shadowBlur) && void 0 !== _p ? _p : [ 0 ]);
320
- (null === (_q = this.theme.frameStyle) || void 0 === _q ? void 0 : _q.innerBorder) ? (this.tableX = 0,
321
- this.tableY = 0, this.tableNoFrameWidth = width - (null !== (_r = shadowWidths[1]) && void 0 !== _r ? _r : 0),
322
- this.tableNoFrameHeight = height - (null !== (_s = shadowWidths[2]) && void 0 !== _s ? _s : 0)) : (this.tableX = (null !== (_t = lineWidths[3]) && void 0 !== _t ? _t : 0) + (null !== (_u = shadowWidths[3]) && void 0 !== _u ? _u : 0),
323
- this.tableY = (null !== (_v = lineWidths[0]) && void 0 !== _v ? _v : 0) + (null !== (_w = shadowWidths[0]) && void 0 !== _w ? _w : 0),
324
- this.tableNoFrameWidth = width - ((null !== (_x = lineWidths[1]) && void 0 !== _x ? _x : 0) + (null !== (_y = shadowWidths[1]) && void 0 !== _y ? _y : 0)) - ((null !== (_z = lineWidths[3]) && void 0 !== _z ? _z : 0) + (null !== (_0 = shadowWidths[3]) && void 0 !== _0 ? _0 : 0)),
325
- this.tableNoFrameHeight = height - ((null !== (_1 = lineWidths[0]) && void 0 !== _1 ? _1 : 0) + (null !== (_2 = shadowWidths[0]) && void 0 !== _2 ? _2 : 0)) - ((null !== (_3 = lineWidths[2]) && void 0 !== _3 ? _3 : 0) + (null !== (_4 = shadowWidths[2]) && void 0 !== _4 ? _4 : 0)));
321
+ if (null === (_l = this.internalProps.theme) || void 0 === _l ? void 0 : _l.frameStyle) {
322
+ const lineWidths = toBoxArray(null !== (_o = null === (_m = this.internalProps.theme.frameStyle) || void 0 === _m ? void 0 : _m.borderLineWidth) && void 0 !== _o ? _o : [ null ]), shadowWidths = toBoxArray(null !== (_q = null === (_p = this.internalProps.theme.frameStyle) || void 0 === _p ? void 0 : _p.shadowBlur) && void 0 !== _q ? _q : [ 0 ]);
323
+ (null === (_r = this.theme.frameStyle) || void 0 === _r ? void 0 : _r.innerBorder) ? (this.tableX = 0,
324
+ this.tableY = 0, this.tableNoFrameWidth = width - (null !== (_s = shadowWidths[1]) && void 0 !== _s ? _s : 0),
325
+ this.tableNoFrameHeight = height - (null !== (_t = shadowWidths[2]) && void 0 !== _t ? _t : 0)) : (this.tableX = (null !== (_u = lineWidths[3]) && void 0 !== _u ? _u : 0) + (null !== (_v = shadowWidths[3]) && void 0 !== _v ? _v : 0),
326
+ this.tableY = (null !== (_w = lineWidths[0]) && void 0 !== _w ? _w : 0) + (null !== (_x = shadowWidths[0]) && void 0 !== _x ? _x : 0),
327
+ this.tableNoFrameWidth = width - ((null !== (_y = lineWidths[1]) && void 0 !== _y ? _y : 0) + (null !== (_z = shadowWidths[1]) && void 0 !== _z ? _z : 0)) - ((null !== (_0 = lineWidths[3]) && void 0 !== _0 ? _0 : 0) + (null !== (_1 = shadowWidths[3]) && void 0 !== _1 ? _1 : 0)),
328
+ this.tableNoFrameHeight = height - ((null !== (_2 = lineWidths[0]) && void 0 !== _2 ? _2 : 0) + (null !== (_3 = shadowWidths[0]) && void 0 !== _3 ? _3 : 0)) - ((null !== (_4 = lineWidths[2]) && void 0 !== _4 ? _4 : 0) + (null !== (_5 = shadowWidths[2]) && void 0 !== _5 ? _5 : 0)));
326
329
  }
327
330
  }
331
+ updateViewBox(newViewBox) {
332
+ var _a, _b, _c, _d, _e, _f, _g, _h;
333
+ const oldWidth = null !== (_d = null !== (_b = null === (_a = this.options) || void 0 === _a ? void 0 : _a.viewBox.x2) && void 0 !== _b ? _b : 0 - (null === (_c = this.options) || void 0 === _c ? void 0 : _c.viewBox.x1)) && void 0 !== _d ? _d : 0, oldHeight = null !== (_h = null !== (_f = null === (_e = this.options) || void 0 === _e ? void 0 : _e.viewBox.y2) && void 0 !== _f ? _f : 0 - (null === (_g = this.options) || void 0 === _g ? void 0 : _g.viewBox.y1)) && void 0 !== _h ? _h : 0, newWidth = newViewBox.x2 - newViewBox.x1, newHeight = newViewBox.y2 - newViewBox.y1;
334
+ this.options.viewBox = newViewBox, oldWidth !== newWidth || oldHeight !== newHeight ? this.resize() : this.scenegraph.stage.setViewBox(this.options.viewBox, !0);
335
+ }
336
+ setViewBoxTransform(a, b, c, d, e, f) {
337
+ this.scenegraph.stage.window.setViewBoxTransform(a, b, c, d, e, f);
338
+ }
328
339
  get rowHierarchyType() {
329
340
  return "grid";
330
341
  }
@@ -521,7 +532,7 @@ class BaseTable extends EventTarget_1.EventTarget {
521
532
  return this.getCellsRectWidth(cellRange.start.col, cellRange.start.row, cellRange.end.col, cellRange.end.row);
522
533
  }
523
534
  isFrozenCell(col, row) {
524
- const isFrozenRow = this.isFrozenRow(row) || this.isBottomFrozenRow(row), isFrozenCol = this.isFrozenColumn(col) || this.isRightFrozenColumn(col);
535
+ const isFrozenRow = this.isFrozenRow(row), isFrozenCol = this.isFrozenColumn(col);
525
536
  return isFrozenRow || isFrozenCol ? {
526
537
  row: isFrozenRow,
527
538
  col: isFrozenCol
@@ -588,8 +599,11 @@ class BaseTable extends EventTarget_1.EventTarget {
588
599
  }));
589
600
  }
590
601
  _toRelativeRect(absoluteRect, relativeX = !0, relativeY = !0) {
602
+ var _a, _b, _c, _d;
591
603
  const rect = absoluteRect.copy(), visibleRect = this.getVisibleRect();
592
604
  return rect.offsetLeft(this.tableX - (relativeX ? visibleRect.left : 0)), rect.offsetTop(this.tableY - (relativeY ? visibleRect.top : 0)),
605
+ rect.offsetLeft(null !== (_b = null === (_a = this.options.viewBox) || void 0 === _a ? void 0 : _a.x1) && void 0 !== _b ? _b : 0),
606
+ rect.offsetTop(null !== (_d = null === (_c = this.options.viewBox) || void 0 === _c ? void 0 : _c.y1) && void 0 !== _d ? _d : 0),
593
607
  rect;
594
608
  }
595
609
  getVisibleRect() {
@@ -691,9 +705,11 @@ class BaseTable extends EventTarget_1.EventTarget {
691
705
  internalProps.layoutMap.release(), internalProps.releaseList && (internalProps.releaseList.forEach((releaseObj => {
692
706
  var _a;
693
707
  return null === (_a = null == releaseObj ? void 0 : releaseObj.release) || void 0 === _a ? void 0 : _a.call(releaseObj);
694
- })), internalProps.releaseList = null), this.scenegraph.stage.release(), this.scenegraph.proxy.release();
708
+ })), internalProps.releaseList = null), this.scenegraph.stage.release(), this.scenegraph.proxy.release(),
709
+ internalProps.focusControl.release();
695
710
  const {parentElement: parentElement} = internalProps.element;
696
- parentElement && parentElement.removeChild(internalProps.element), this.isReleased = !0;
711
+ parentElement && !this.options.canvas && parentElement.removeChild(internalProps.element),
712
+ this.isReleased = !0;
697
713
  }
698
714
  fireListeners(type, event) {
699
715
  return super.fireListeners(type, event);
@@ -783,6 +799,7 @@ class BaseTable extends EventTarget_1.EventTarget {
783
799
  return new Rect_1.Rect(this.tableX, this.tableY, width, height);
784
800
  }
785
801
  _getMouseAbstractPoint(evt, isAddScroll = !0) {
802
+ var _a, _b, _c, _d;
786
803
  let e;
787
804
  if (!evt) return {
788
805
  inTable: !1,
@@ -795,8 +812,8 @@ class BaseTable extends EventTarget_1.EventTarget {
795
812
  rect.right <= clientX && (inTable = !1), rect.bottom <= clientY && (inTable = !1);
796
813
  const currentWidth = rect.width, widthRatio = currentWidth / (this.canvas.offsetWidth || currentWidth), currentHeight = rect.height, heightRatio = currentHeight / (this.canvas.offsetHeight || currentHeight);
797
814
  return {
798
- x: (clientX - rect.left) / widthRatio + (isAddScroll ? this.scrollLeft : 0),
799
- y: (clientY - rect.top) / heightRatio + (isAddScroll ? this.scrollTop : 0),
815
+ x: (clientX - rect.left) / widthRatio + (isAddScroll ? this.scrollLeft : 0) - (null !== (_b = null === (_a = this.options.viewBox) || void 0 === _a ? void 0 : _a.x1) && void 0 !== _b ? _b : 0),
816
+ y: (clientY - rect.top) / heightRatio + (isAddScroll ? this.scrollTop : 0) - (null !== (_d = null === (_c = this.options.viewBox) || void 0 === _c ? void 0 : _c.y1) && void 0 !== _d ? _d : 0),
800
817
  inTable: inTable
801
818
  };
802
819
  }
@@ -877,6 +894,36 @@ class BaseTable extends EventTarget_1.EventTarget {
877
894
  return null;
878
895
  })(candRow, bottom);
879
896
  }
897
+ getTargetColAtConsiderRightFrozen(absoluteX, isConsider) {
898
+ if (0 === absoluteX) return {
899
+ left: 0,
900
+ col: 0,
901
+ right: 0,
902
+ width: 0
903
+ };
904
+ if (isConsider && absoluteX > this.tableNoFrameWidth - this.getRightFrozenColsWidth() && absoluteX < this.tableNoFrameWidth) for (let i = 0; i < this.rightFrozenColCount; i++) if (absoluteX > this.tableNoFrameWidth - this.getColsWidth(this.colCount - i - 1, this.colCount - 1)) return {
905
+ col: this.colCount - i - 1,
906
+ left: void 0,
907
+ right: void 0,
908
+ width: void 0
909
+ };
910
+ return this.getTargetColAt(absoluteX);
911
+ }
912
+ getTargetRowAtConsiderBottomFrozen(absoluteY, isConsider) {
913
+ if (0 === absoluteY) return {
914
+ top: 0,
915
+ row: 0,
916
+ bottom: 0,
917
+ height: 0
918
+ };
919
+ if (isConsider && absoluteY > this.tableNoFrameHeight - this.getBottomFrozenRowsHeight() && absoluteY < this.tableNoFrameHeight) for (let i = 0; i < this.rightFrozenColCount; i++) if (absoluteY > this.tableNoFrameHeight - this.getRowsHeight(this.rowCount - i - 1, this.rowCount - 1)) return {
920
+ row: this.rowCount - i - 1,
921
+ top: void 0,
922
+ bottom: void 0,
923
+ height: void 0
924
+ };
925
+ return this.getTargetRowAt(absoluteY);
926
+ }
880
927
  computeTargetRowByY(absoluteY) {
881
928
  let defaultRowHeight = this.internalProps.defaultRowHeight;
882
929
  return this._rowRangeHeightsMap.get("$0$" + (this.rowCount - 1)) && (defaultRowHeight = this._rowRangeHeightsMap.get("$0$" + (this.rowCount - 1)) / this.rowCount),
@@ -1106,8 +1153,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1106
1153
  return null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.isCornerHeader(col, row);
1107
1154
  }
1108
1155
  isFrozenColumn(col, row) {
1109
- var _a;
1110
- return null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.isFrozenColumn(col, row);
1156
+ return this.isLeftFrozenColumn(col, row) || this.isRightFrozenColumn(col, row);
1111
1157
  }
1112
1158
  isLeftFrozenColumn(col, row) {
1113
1159
  var _a;
@@ -1118,8 +1164,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1118
1164
  return null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.isRightFrozenColumn(col, row);
1119
1165
  }
1120
1166
  isFrozenRow(col, row) {
1121
- var _a;
1122
- return null === (_a = this.internalProps.layoutMap) || void 0 === _a ? void 0 : _a.isFrozenRow(col, row);
1167
+ return this.isTopFrozenRow(col, row) || this.isBottomFrozenRow(col, row);
1123
1168
  }
1124
1169
  isTopFrozenRow(col, row) {
1125
1170
  var _a;
@@ -1253,7 +1298,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1253
1298
  }
1254
1299
  _canDragHeaderPosition(col, row) {
1255
1300
  if (this.isHeader(col, row) && this.stateManager.isSelected(col, row)) {
1256
- if ("disabled" === this.internalProps.frozenColDragHeaderMode && (this.isFrozenColumn(col) || this.isRightFrozenColumn(col))) return !1;
1301
+ if ("disabled" === this.internalProps.frozenColDragHeaderMode && this.isFrozenColumn(col)) return !1;
1257
1302
  const selectRange = this.stateManager.select.ranges[0];
1258
1303
  if (this.isColumnHeader(col, row)) {
1259
1304
  if (selectRange.end.row !== this.rowCount - 1) return !1;
@@ -1525,7 +1570,7 @@ class BaseTable extends EventTarget_1.EventTarget {
1525
1570
  (null === (_b = null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.ranges) || void 0 === _b ? void 0 : _b.length) > 0 && (0,
1526
1571
  update_select_border_1.hideCellSelectBorder)(this.scenegraph);
1527
1572
  const {col: hoverCol, row: hoverRow} = this.stateManager.hover.cellPos;
1528
- this.stateManager.updateHoverPos(-1, -1);
1573
+ this.stateManager.updateHoverPos(-1, -1), this.scenegraph.renderSceneGraph();
1529
1574
  const c = this.scenegraph.stage.toCanvas(!1, (new vutils_1.AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY));
1530
1575
  return isInView || (this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft)),
1531
1576
  (null === (_d = null === (_c = this.stateManager.select) || void 0 === _c ? void 0 : _c.ranges) || void 0 === _d ? void 0 : _d.length) > 0 && (0,