@visactor/vtable 1.3.2-alpha.2 → 1.3.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 (149) hide show
  1. package/cjs/PivotChart.d.ts +0 -1
  2. package/cjs/PivotChart.js +0 -4
  3. package/cjs/PivotChart.js.map +1 -1
  4. package/cjs/components/axis/axis.js +2 -3
  5. package/cjs/components/axis/axis.js.map +1 -1
  6. package/cjs/components/empty-tip/empty-tip.js +2 -2
  7. package/cjs/components/empty-tip/empty-tip.js.map +1 -1
  8. package/cjs/components/legend/discrete-legend/discrete-legend.js +1 -2
  9. package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  10. package/cjs/components/tooltip/TooltipHandler.js +1 -3
  11. package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
  12. package/cjs/components/tooltip/logic/BubbleTooltipElement.js +7 -3
  13. package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  14. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js +1 -1
  15. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
  16. package/cjs/core/BaseTable.d.ts +2 -4
  17. package/cjs/core/BaseTable.js +197 -62
  18. package/cjs/core/BaseTable.js.map +1 -1
  19. package/cjs/core/FouseInput.d.ts +0 -1
  20. package/cjs/core/FouseInput.js +2 -5
  21. package/cjs/core/FouseInput.js.map +1 -1
  22. package/cjs/dataset/dataset.d.ts +2 -0
  23. package/cjs/dataset/dataset.js +8 -7
  24. package/cjs/dataset/dataset.js.map +1 -1
  25. package/cjs/event/event.js +1 -2
  26. package/cjs/event/event.js.map +1 -1
  27. package/cjs/event/listener/container-dom.js +1 -1
  28. package/cjs/event/listener/container-dom.js.map +1 -1
  29. package/cjs/event/listener/table-group.js +5 -3
  30. package/cjs/event/listener/table-group.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 +2 -2
  35. package/cjs/index.js.map +1 -1
  36. package/cjs/layout/layout-helper.js.map +1 -1
  37. package/cjs/layout/pivot-header-layout.js +57 -37
  38. package/cjs/layout/pivot-header-layout.js.map +1 -1
  39. package/cjs/scenegraph/debug-tool/debug-tool.js +1 -4
  40. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  41. package/cjs/scenegraph/graphic/chart.d.ts +0 -1
  42. package/cjs/scenegraph/graphic/chart.js +20 -34
  43. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  44. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +8 -20
  45. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  46. package/cjs/scenegraph/graphic/contributions/chart-render.d.ts +1 -2
  47. package/cjs/scenegraph/graphic/contributions/chart-render.js +24 -40
  48. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  49. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +1 -2
  50. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  51. package/cjs/scenegraph/layout/update-width.js +3 -0
  52. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  53. package/cjs/scenegraph/refresh-node/update-chart.d.ts +0 -1
  54. package/cjs/scenegraph/refresh-node/update-chart.js +2 -9
  55. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  56. package/cjs/scenegraph/scenegraph.js +4 -10
  57. package/cjs/scenegraph/scenegraph.js.map +1 -1
  58. package/cjs/state/state.js +1 -1
  59. package/cjs/themes/component.js +1 -1
  60. package/cjs/themes/theme.js +6 -0
  61. package/cjs/themes/theme.js.map +1 -1
  62. package/cjs/ts-types/base-table.d.ts +4 -15
  63. package/cjs/ts-types/base-table.js.map +1 -1
  64. package/cjs/ts-types/icon.d.ts +2 -0
  65. package/cjs/ts-types/icon.js.map +1 -1
  66. package/cjs/ts-types/theme.d.ts +2 -0
  67. package/cjs/ts-types/theme.js.map +1 -1
  68. package/cjs/ts-types/tooltip.d.ts +2 -0
  69. package/cjs/ts-types/tooltip.js.map +1 -1
  70. package/cjs/vrender.js.map +1 -1
  71. package/dist/vtable.js +545 -539
  72. package/dist/vtable.min.js +2 -2
  73. package/es/PivotChart.d.ts +0 -1
  74. package/es/PivotChart.js +2 -5
  75. package/es/PivotChart.js.map +1 -1
  76. package/es/components/axis/axis.js +1 -3
  77. package/es/components/axis/axis.js.map +1 -1
  78. package/es/components/empty-tip/empty-tip.js +2 -2
  79. package/es/components/empty-tip/empty-tip.js.map +1 -1
  80. package/es/components/legend/discrete-legend/discrete-legend.js +1 -2
  81. package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  82. package/es/components/tooltip/TooltipHandler.js +1 -3
  83. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  84. package/es/components/tooltip/logic/BubbleTooltipElement.js +7 -3
  85. package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -1
  86. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js +1 -1
  87. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
  88. package/es/core/BaseTable.d.ts +2 -4
  89. package/es/core/BaseTable.js +196 -63
  90. package/es/core/BaseTable.js.map +1 -1
  91. package/es/core/FouseInput.d.ts +0 -1
  92. package/es/core/FouseInput.js +2 -5
  93. package/es/core/FouseInput.js.map +1 -1
  94. package/es/dataset/dataset.d.ts +2 -0
  95. package/es/dataset/dataset.js +8 -7
  96. package/es/dataset/dataset.js.map +1 -1
  97. package/es/event/event.js +1 -2
  98. package/es/event/event.js.map +1 -1
  99. package/es/event/listener/container-dom.js +1 -1
  100. package/es/event/listener/container-dom.js.map +1 -1
  101. package/es/event/listener/table-group.js +5 -3
  102. package/es/event/listener/table-group.js.map +1 -1
  103. package/es/event/util.js +2 -2
  104. package/es/event/util.js.map +1 -1
  105. package/es/index.d.ts +1 -1
  106. package/es/index.js +1 -1
  107. package/es/index.js.map +1 -1
  108. package/es/layout/layout-helper.js.map +1 -1
  109. package/es/layout/pivot-header-layout.js +56 -36
  110. package/es/layout/pivot-header-layout.js.map +1 -1
  111. package/es/scenegraph/debug-tool/debug-tool.js +1 -4
  112. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  113. package/es/scenegraph/graphic/chart.d.ts +0 -1
  114. package/es/scenegraph/graphic/chart.js +21 -33
  115. package/es/scenegraph/graphic/chart.js.map +1 -1
  116. package/es/scenegraph/graphic/contributions/chart-render-helper.js +8 -20
  117. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  118. package/es/scenegraph/graphic/contributions/chart-render.d.ts +1 -2
  119. package/es/scenegraph/graphic/contributions/chart-render.js +25 -41
  120. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  121. package/es/scenegraph/group-creater/cell-type/chart-cell.js +1 -2
  122. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  123. package/es/scenegraph/layout/update-width.js +3 -0
  124. package/es/scenegraph/layout/update-width.js.map +1 -1
  125. package/es/scenegraph/refresh-node/update-chart.d.ts +0 -1
  126. package/es/scenegraph/refresh-node/update-chart.js +0 -6
  127. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  128. package/es/scenegraph/scenegraph.js +4 -10
  129. package/es/scenegraph/scenegraph.js.map +1 -1
  130. package/es/state/state.js +1 -1
  131. package/es/themes/component.js +1 -1
  132. package/es/themes/theme.js +6 -0
  133. package/es/themes/theme.js.map +1 -1
  134. package/es/ts-types/base-table.d.ts +4 -15
  135. package/es/ts-types/base-table.js.map +1 -1
  136. package/es/ts-types/icon.d.ts +2 -0
  137. package/es/ts-types/icon.js.map +1 -1
  138. package/es/ts-types/theme.d.ts +2 -0
  139. package/es/ts-types/theme.js.map +1 -1
  140. package/es/ts-types/tooltip.d.ts +2 -0
  141. package/es/ts-types/tooltip.js.map +1 -1
  142. package/es/vrender.js.map +1 -1
  143. package/package.json +3 -3
  144. package/cjs/core/utils/get-cell-position.d.ts +0 -42
  145. package/cjs/core/utils/get-cell-position.js +0 -206
  146. package/cjs/core/utils/get-cell-position.js.map +0 -1
  147. package/es/core/utils/get-cell-position.d.ts +0 -42
  148. package/es/core/utils/get-cell-position.js +0 -194
  149. package/es/core/utils/get-cell-position.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/utils/get-cell-position.ts"],"names":[],"mappings":"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","file":"get-cell-position.js","sourcesContent":["import type { CellAddressWithBound } from '../../ts-types';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport { _getTargetFrozenColAt, _getTargetFrozenRowAt } from '../tableHelper';\n\n/**\n * 根据y值计算所在行\n * @param absoluteY\n * @returns\n */\nexport function getRowAt(\n absoluteY: number,\n _this: BaseTableAPI\n): { top: number; row: number; bottom: number; height: number } {\n const frozen = _getTargetFrozenRowAt(_this, absoluteY);\n if (frozen) {\n return frozen;\n }\n let row = getTargetRowAt(absoluteY, _this);\n if (!row) {\n row = {\n top: -1,\n row: -1,\n bottom: -1,\n height: -1\n };\n }\n return row;\n}\n/**\n * 根据x值计算所在列\n * @param absoluteX\n * @returns\n */\nexport function getColAt(\n absoluteX: number,\n _this: BaseTableAPI\n): { left: number; col: number; right: number; width: number } {\n const frozen = _getTargetFrozenColAt(_this, absoluteX);\n if (frozen) {\n return frozen;\n }\n let col = getTargetColAt(absoluteX, _this);\n if (!col) {\n col = {\n left: -1,\n col: -1,\n right: -1,\n width: 1\n };\n }\n return col;\n}\n/**\n * 根据坐标值获取行列位置,index和rect范围\n * @param absoluteX\n * @param absoluteY\n * @returns\n */\nexport function getCellAt(absoluteX: number, absoluteY: number, _this: BaseTableAPI): CellAddressWithBound {\n const rowInfo = getRowAt(absoluteY, _this);\n const { row, top, bottom, height } = rowInfo;\n const colInfo = getColAt(absoluteX, _this);\n const { col, left, right, width } = colInfo;\n const rect = {\n left,\n right,\n top,\n bottom,\n width,\n height\n };\n return {\n row,\n col,\n rect\n };\n}\n\n/**\n * 根据x获取该位置所处列值\n * @param table\n * @param absoluteX\n * @returns\n */\nexport function getTargetColAt(\n absoluteX: number,\n _this: BaseTableAPI\n): { col: number; left: number; right: number; width: number } | null {\n if (absoluteX === 0) {\n return { left: 0, col: 0, right: 0, width: 0 };\n }\n const findBefore = (\n startCol: number,\n startRight: number\n ): {\n left: number;\n col: number;\n right: number;\n width: number;\n } | null => {\n let right = startRight;\n for (let col = startCol; col >= 0; col--) {\n const width = _this.getColWidth(col);\n const left = right - width;\n if (Math.round(left) <= Math.round(absoluteX) && Math.round(absoluteX) < Math.round(right)) {\n return {\n left,\n col,\n right,\n width\n };\n }\n right = left;\n }\n return null;\n };\n const findAfter = (\n startCol: number,\n startRight: number\n ): {\n left: number;\n col: number;\n right: number;\n width: number;\n } | null => {\n let left = startRight - _this.getColWidth(startCol);\n const { colCount } = _this.internalProps;\n for (let col = startCol; col < colCount; col++) {\n const width = _this.getColWidth(col);\n const right = left + width;\n if (Math.round(left) <= Math.round(absoluteX) && Math.round(absoluteX) < Math.round(right)) {\n return {\n left,\n col,\n right,\n width\n };\n }\n left = right;\n }\n return null;\n };\n //计算这个位置处是第几行\n const candCol = computeTargetColByX(absoluteX, _this);\n const right = _this.getColsWidth(0, candCol);\n if (absoluteX >= right) {\n return findAfter(candCol, right);\n }\n return findBefore(candCol, right);\n}\n/**\n * 根据y获取该位置所处行值\n * @param table\n * @param absoluteX\n * @returns\n */\nexport function getTargetRowAt(\n absoluteY: number,\n _this: BaseTableAPI\n): { row: number; top: number; bottom: number; height: number } | null {\n if (absoluteY === 0) {\n return { top: 0, row: 0, bottom: 0, height: 0 };\n }\n\n const findBefore = (\n startRow: number,\n startBottom: number\n ): {\n top: number;\n row: number;\n bottom: number;\n height: number;\n } | null => {\n let bottom = startBottom;\n for (let row = startRow; row >= 0; row--) {\n const height = _this.getRowHeight(row);\n const top = bottom - height;\n if (Math.round(top) <= Math.round(absoluteY) && Math.round(absoluteY) < Math.round(bottom)) {\n return {\n top,\n row,\n bottom,\n height\n };\n }\n bottom = top;\n }\n return null;\n };\n const findAfter = (\n startRow: number,\n startBottom: number\n ): {\n top: number;\n row: number;\n bottom: number;\n height: number;\n } | null => {\n let top = startBottom - _this.getRowHeight(startRow);\n const { rowCount } = _this.internalProps;\n for (let row = startRow; row < rowCount; row++) {\n const height = _this.getRowHeight(row);\n const bottom = top + height;\n if (Math.round(top) <= Math.round(absoluteY) && Math.round(absoluteY) < Math.round(bottom)) {\n return {\n top,\n row,\n bottom,\n height\n };\n }\n top = bottom;\n }\n return null;\n };\n // const candRow = Math.min(\n // Math.ceil(absoluteY / this.internalProps.defaultRowHeight),\n // this.rowCount - 1\n // );\n //计算这个位置处是第几行\n const candRow = computeTargetRowByY(absoluteY, _this);\n const bottom = _this.getRowsHeight(0, candRow);\n if (absoluteY >= bottom) {\n return findAfter(candRow, bottom);\n }\n return findBefore(candRow, bottom);\n}\n\n/**\n * 根据x获取该位置所处列值\n * @param table\n * @param absoluteX\n * @returns\n */\nexport function getTargetColAtConsiderRightFrozen(\n absoluteX: number,\n isConsider: boolean,\n _this: BaseTableAPI\n): { col: number; left: number; right: number; width: number } | null {\n if (absoluteX === 0) {\n return { left: 0, col: 0, right: 0, width: 0 };\n }\n if (\n isConsider &&\n absoluteX > _this.tableNoFrameWidth - _this.getRightFrozenColsWidth() &&\n absoluteX < _this.tableNoFrameWidth\n ) {\n for (let i = 0; i < _this.rightFrozenColCount; i++) {\n if (absoluteX > _this.tableNoFrameWidth - _this.getColsWidth(_this.colCount - i - 1, _this.colCount - 1)) {\n return {\n col: _this.colCount - i - 1,\n left: undefined,\n right: undefined,\n width: undefined\n };\n }\n }\n }\n return getTargetColAt(absoluteX, _this);\n}\n\n/**\n * 根据y获取该位置所处行值\n * @param table\n * @param absoluteX\n * @returns\n */\nexport function getTargetRowAtConsiderBottomFrozen(\n absoluteY: number,\n isConsider: boolean,\n _this: BaseTableAPI\n): { row: number; top: number; bottom: number; height: number } | null {\n if (absoluteY === 0) {\n return { top: 0, row: 0, bottom: 0, height: 0 };\n }\n if (\n isConsider &&\n absoluteY > _this.tableNoFrameHeight - _this.getBottomFrozenRowsHeight() &&\n absoluteY < _this.tableNoFrameHeight\n ) {\n for (let i = 0; i < _this.rightFrozenColCount; i++) {\n if (absoluteY > _this.tableNoFrameHeight - _this.getRowsHeight(_this.rowCount - i - 1, _this.rowCount - 1)) {\n return {\n row: _this.rowCount - i - 1,\n top: undefined,\n bottom: undefined,\n height: undefined\n };\n }\n }\n }\n return getTargetRowAt(absoluteY, _this);\n}\n\n/**\n * 根据y值(包括了scroll的)计算所在行\n * @param this\n * @param absoluteY 左边y值,包含了scroll滚动距离\n * @returns\n */\nexport function computeTargetRowByY(absoluteY: number, _this: BaseTableAPI): number {\n let defaultRowHeight = _this.internalProps.defaultRowHeight;\n\n //使用二分法计算出row\n if (_this._rowRangeHeightsMap.get(`$0$${_this.rowCount - 1}`)) {\n defaultRowHeight = _this._rowRangeHeightsMap.get(`$0$${_this.rowCount - 1}`) / _this.rowCount;\n // let startRow = 0;\n // let endRow = this.rowCount - 1;\n // while (endRow - startRow > 1) {\n // const midRow = Math.floor((startRow + endRow) / 2);\n // if (absoluteY < this._rowRangeHeightsMap.get(`$0$${midRow}`)) {\n // endRow = midRow;\n // } else if (absoluteY > this._rowRangeHeightsMap.get(`$0$${midRow}`)) {\n // startRow = midRow;\n // } else {\n // return midRow;\n // }\n // }\n // return endRow;\n }\n //否则使用defaultRowHeight大约计算一个row\n return Math.min(Math.ceil(absoluteY / defaultRowHeight), _this.rowCount - 1);\n}\n/**\n * 根据x值(包括了scroll的)计算所在列 主要借助colRangeWidthsMap缓存来提高计算效率\n * @param this\n * @param absoluteX 左边x值,包含了scroll滚动距离\n * @returns\n */\nexport function computeTargetColByX(absoluteX: number, _this: BaseTableAPI): number {\n //使用二分法计算出col\n if (_this._colRangeWidthsMap.get(`$0$${_this.colCount - 1}`)) {\n let startCol = 0;\n let endCol = _this.colCount - 1;\n while (endCol - startCol > 1) {\n const midCol = Math.floor((startCol + endCol) / 2);\n if (absoluteX < _this._colRangeWidthsMap.get(`$0$${midCol}`)) {\n endCol = midCol;\n } else if (absoluteX > _this._colRangeWidthsMap.get(`$0$${midCol}`)) {\n startCol = midCol;\n } else {\n return midCol;\n }\n }\n return endCol;\n }\n //否则使用defaultColWidth大约计算一个col\n return Math.min(Math.ceil(absoluteX / _this.internalProps.defaultColWidth), _this.colCount - 1);\n}\n\n// 获取屏幕坐标对应的单元格信息,考虑滚动\nexport function getCellAtRelativePosition(x: number, y: number, _this: BaseTableAPI): CellAddressWithBound {\n // table border and outer component\n x -= _this.tableX;\n y -= _this.tableY;\n\n // bottom frozen\n let bottomFrozen = false;\n if (y > _this.tableNoFrameHeight - _this.getBottomFrozenRowsHeight() && y < _this.tableNoFrameHeight) {\n bottomFrozen = true;\n }\n // right frozen\n let rightFrozen = false;\n if (x > _this.tableNoFrameWidth - _this.getRightFrozenColsWidth() && x < _this.tableNoFrameWidth) {\n rightFrozen = true;\n }\n\n const colInfo = getTargetColAtConsiderRightFrozen(rightFrozen ? x : x + _this.scrollLeft, rightFrozen, _this);\n const rowInfo = getTargetRowAtConsiderBottomFrozen(bottomFrozen ? y : y + _this.scrollTop, bottomFrozen, _this);\n if (!colInfo || !rowInfo) {\n return undefined;\n }\n const { row, top, bottom, height } = rowInfo;\n const { col, left, right, width } = colInfo;\n const rect = {\n left,\n right,\n top,\n bottom,\n width,\n height\n };\n return {\n row,\n col,\n rect\n };\n}\n"]}