@visactor/vtable 1.8.3-alpha.0 → 1.9.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 (137) hide show
  1. package/cjs/ListTable.js +7 -4
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/components/legend/discrete-legend/discrete-legend.js +7 -4
  4. package/cjs/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  5. package/cjs/core/BaseTable.d.ts +9 -4
  6. package/cjs/core/BaseTable.js +31 -15
  7. package/cjs/core/BaseTable.js.map +1 -1
  8. package/cjs/core/TABLE_EVENT_TYPE.d.ts +2 -0
  9. package/cjs/core/TABLE_EVENT_TYPE.js +2 -0
  10. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  11. package/cjs/core/animation.d.ts +20 -0
  12. package/cjs/core/animation.js +48 -0
  13. package/cjs/core/animation.js.map +1 -0
  14. package/cjs/core/tableHelper.d.ts +2 -1
  15. package/cjs/core/tableHelper.js +9 -2
  16. package/cjs/core/tableHelper.js.map +1 -1
  17. package/cjs/data/DataSource.d.ts +1 -0
  18. package/cjs/data/DataSource.js +4 -0
  19. package/cjs/data/DataSource.js.map +1 -1
  20. package/cjs/dataset/dataset-pivot-table.js +1 -2
  21. package/cjs/dataset/dataset.js +1 -0
  22. package/cjs/event/event.js +2 -2
  23. package/cjs/event/event.js.map +1 -1
  24. package/cjs/event/listener/container-dom.js +1 -1
  25. package/cjs/event/listener/container-dom.js.map +1 -1
  26. package/cjs/event/listener/table-group.js +43 -19
  27. package/cjs/event/listener/table-group.js.map +1 -1
  28. package/cjs/event/scroll.js +1 -1
  29. package/cjs/event/scroll.js.map +1 -1
  30. package/cjs/index.d.ts +1 -1
  31. package/cjs/index.js +1 -1
  32. package/cjs/index.js.map +1 -1
  33. package/cjs/layout/index.js +1 -2
  34. package/cjs/layout/layout-helper.js +2 -1
  35. package/cjs/layout/pivot-header-layout.js +10 -3
  36. package/cjs/layout/pivot-header-layout.js.map +1 -1
  37. package/cjs/layout/simple-header-layout.js +5 -1
  38. package/cjs/layout/simple-header-layout.js.map +1 -1
  39. package/cjs/plugins/custom-cell-style.js +1 -1
  40. package/cjs/scenegraph/component/custom.js +6 -4
  41. package/cjs/scenegraph/component/custom.js.map +1 -1
  42. package/cjs/scenegraph/group-creater/cell-helper.js +32 -9
  43. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  44. package/cjs/scenegraph/group-creater/column-helper.js +37 -9
  45. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  46. package/cjs/scenegraph/layout/frozen-react.js +7 -7
  47. package/cjs/scenegraph/layout/frozen-react.js.map +1 -1
  48. package/cjs/scenegraph/layout/update-height.js +1 -2
  49. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  50. package/cjs/scenegraph/layout/update-width.js +3 -4
  51. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  52. package/cjs/scenegraph/scenegraph.js +1 -1
  53. package/cjs/scenegraph/scenegraph.js.map +1 -1
  54. package/cjs/state/cell-move/index.js +3 -2
  55. package/cjs/state/cell-move/index.js.map +1 -1
  56. package/cjs/state/select/update-position.js +19 -4
  57. package/cjs/state/select/update-position.js.map +1 -1
  58. package/cjs/state/state.d.ts +2 -1
  59. package/cjs/state/state.js +11 -4
  60. package/cjs/state/state.js.map +1 -1
  61. package/cjs/ts-types/base-table.d.ts +4 -0
  62. package/cjs/ts-types/base-table.js.map +1 -1
  63. package/cjs/ts-types/events.d.ts +11 -0
  64. package/cjs/ts-types/events.js.map +1 -1
  65. package/cjs/ts-types/pivot-table/corner.d.ts +3 -0
  66. package/cjs/ts-types/pivot-table/corner.js.map +1 -1
  67. package/cjs/vrender.js.map +1 -1
  68. package/dist/vtable.js +315 -94
  69. package/dist/vtable.min.js +2 -2
  70. package/es/ListTable.js +8 -5
  71. package/es/ListTable.js.map +1 -1
  72. package/es/components/legend/discrete-legend/discrete-legend.js +5 -4
  73. package/es/components/legend/discrete-legend/discrete-legend.js.map +1 -1
  74. package/es/core/BaseTable.d.ts +9 -4
  75. package/es/core/BaseTable.js +32 -14
  76. package/es/core/BaseTable.js.map +1 -1
  77. package/es/core/TABLE_EVENT_TYPE.d.ts +2 -0
  78. package/es/core/TABLE_EVENT_TYPE.js +2 -0
  79. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  80. package/es/core/animation.d.ts +20 -0
  81. package/es/core/animation.js +41 -0
  82. package/es/core/animation.js.map +1 -0
  83. package/es/core/tableHelper.d.ts +2 -1
  84. package/es/core/tableHelper.js +7 -0
  85. package/es/core/tableHelper.js.map +1 -1
  86. package/es/data/DataSource.d.ts +1 -0
  87. package/es/data/DataSource.js +4 -0
  88. package/es/data/DataSource.js.map +1 -1
  89. package/es/dataset/dataset-pivot-table.js +1 -2
  90. package/es/dataset/dataset.js +2 -1
  91. package/es/event/event.js +2 -2
  92. package/es/event/event.js.map +1 -1
  93. package/es/event/listener/container-dom.js +1 -1
  94. package/es/event/listener/container-dom.js.map +1 -1
  95. package/es/event/listener/table-group.js +43 -19
  96. package/es/event/listener/table-group.js.map +1 -1
  97. package/es/event/scroll.js +1 -1
  98. package/es/event/scroll.js.map +1 -1
  99. package/es/index.d.ts +1 -1
  100. package/es/index.js +1 -1
  101. package/es/index.js.map +1 -1
  102. package/es/layout/index.js +1 -2
  103. package/es/layout/layout-helper.js +2 -1
  104. package/es/layout/pivot-header-layout.js +10 -3
  105. package/es/layout/pivot-header-layout.js.map +1 -1
  106. package/es/layout/simple-header-layout.js +5 -1
  107. package/es/layout/simple-header-layout.js.map +1 -1
  108. package/es/plugins/custom-cell-style.js +1 -1
  109. package/es/scenegraph/component/custom.js +6 -4
  110. package/es/scenegraph/component/custom.js.map +1 -1
  111. package/es/scenegraph/group-creater/cell-helper.js +28 -7
  112. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  113. package/es/scenegraph/group-creater/column-helper.js +35 -8
  114. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  115. package/es/scenegraph/layout/frozen-react.js +7 -7
  116. package/es/scenegraph/layout/frozen-react.js.map +1 -1
  117. package/es/scenegraph/layout/update-height.js +1 -2
  118. package/es/scenegraph/layout/update-height.js.map +1 -1
  119. package/es/scenegraph/layout/update-width.js +3 -4
  120. package/es/scenegraph/layout/update-width.js.map +1 -1
  121. package/es/scenegraph/scenegraph.js +1 -1
  122. package/es/scenegraph/scenegraph.js.map +1 -1
  123. package/es/state/cell-move/index.js +3 -2
  124. package/es/state/cell-move/index.js.map +1 -1
  125. package/es/state/select/update-position.js +19 -4
  126. package/es/state/select/update-position.js.map +1 -1
  127. package/es/state/state.d.ts +2 -1
  128. package/es/state/state.js +11 -4
  129. package/es/state/state.js.map +1 -1
  130. package/es/ts-types/base-table.d.ts +4 -0
  131. package/es/ts-types/base-table.js.map +1 -1
  132. package/es/ts-types/events.d.ts +11 -0
  133. package/es/ts-types/events.js.map +1 -1
  134. package/es/ts-types/pivot-table/corner.d.ts +3 -0
  135. package/es/ts-types/pivot-table/corner.js.map +1 -1
  136. package/es/vrender.js.map +1 -1
  137. package/package.json +5 -5
@@ -33,7 +33,7 @@ Object.defineProperty(exports, "__esModule", {
33
33
  value: !0
34
34
  }), exports.BaseTable = void 0;
35
35
 
36
- const columnStyleContents = __importStar(require("../body-helper/style")), style_1 = require("./style"), style = __importStar(require("../tools/style")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), TABLE_EVENT_TYPE_1 = require("./TABLE_EVENT_TYPE"), EventHandler_1 = require("../event/EventHandler"), EventTarget_1 = require("../event/EventTarget"), NumberMap_1 = require("../tools/NumberMap"), Rect_1 = require("../tools/Rect"), util_1 = require("../tools/util"), themes_1 = __importDefault(require("../themes")), env_1 = require("../tools/env"), scenegraph_1 = require("../scenegraph/scenegraph"), state_1 = require("../state/state"), event_1 = require("../event/event"), body_helper_1 = require("../body-helper/body-helper"), header_helper_1 = require("../header-helper/header-helper"), vutils_1 = require("@visactor/vutils"), text_measure_1 = require("../scenegraph/utils/text-measure"), get_prop_1 = require("../scenegraph/utils/get-prop"), icons_1 = require("../plugins/icons"), tableHelper_1 = require("./tableHelper"), FouseInput_1 = require("./FouseInput"), pixel_ratio_1 = require("../tools/pixel-ratio"), chart_render_helper_1 = require("../scenegraph/graphic/contributions/chart-render-helper"), row_height_map_1 = require("../layout/row-height-map"), row_series_number_helper_1 = require("./row-series-number-helper"), custom_cell_style_1 = require("../plugins/custom-cell-style"), update_select_border_1 = require("../scenegraph/select/update-select-border"), react_custom_layout_1 = require("../components/react/react-custom-layout"), layout_helper_1 = require("../layout/layout-helper"), factory_1 = require("./factory"), get_cell_position_1 = require("./utils/get-cell-position"), style_helper_1 = require("./style-helper"), frozen_react_1 = require("../scenegraph/layout/frozen-react"), icons_2 = require("../icons"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
36
+ const columnStyleContents = __importStar(require("../body-helper/style")), style_1 = require("./style"), style = __importStar(require("../tools/style")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), TABLE_EVENT_TYPE_1 = require("./TABLE_EVENT_TYPE"), EventHandler_1 = require("../event/EventHandler"), EventTarget_1 = require("../event/EventTarget"), NumberMap_1 = require("../tools/NumberMap"), Rect_1 = require("../tools/Rect"), util_1 = require("../tools/util"), themes_1 = __importDefault(require("../themes")), env_1 = require("../tools/env"), scenegraph_1 = require("../scenegraph/scenegraph"), state_1 = require("../state/state"), event_1 = require("../event/event"), body_helper_1 = require("../body-helper/body-helper"), header_helper_1 = require("../header-helper/header-helper"), vutils_1 = require("@visactor/vutils"), text_measure_1 = require("../scenegraph/utils/text-measure"), get_prop_1 = require("../scenegraph/utils/get-prop"), icons_1 = require("../plugins/icons"), tableHelper_1 = require("./tableHelper"), FouseInput_1 = require("./FouseInput"), pixel_ratio_1 = require("../tools/pixel-ratio"), chart_render_helper_1 = require("../scenegraph/graphic/contributions/chart-render-helper"), row_height_map_1 = require("../layout/row-height-map"), row_series_number_helper_1 = require("./row-series-number-helper"), custom_cell_style_1 = require("../plugins/custom-cell-style"), update_select_border_1 = require("../scenegraph/select/update-select-border"), react_custom_layout_1 = require("../components/react/react-custom-layout"), layout_helper_1 = require("../layout/layout-helper"), factory_1 = require("./factory"), get_cell_position_1 = require("./utils/get-cell-position"), style_helper_1 = require("./style-helper"), frozen_react_1 = require("../scenegraph/layout/frozen-react"), icons_2 = require("../icons"), animation_1 = require("./animation"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
37
37
 
38
38
  (0, style_1.importStyle)();
39
39
 
@@ -43,7 +43,7 @@ class BaseTable extends EventTarget_1.EventTarget {
43
43
  }
44
44
  constructor(container, options = {}) {
45
45
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
46
- if (super(), this.showFrozenIcon = !0, this.version = "1.8.3-alpha.0", this.id = `VTable${Date.now()}`,
46
+ if (super(), this.showFrozenIcon = !0, this.version = "1.9.0", this.id = `VTable${Date.now()}`,
47
47
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200),
48
48
  !container && "node" !== options.mode && !options.canvas) throw new Error("vtable's container is undefined");
49
49
  const {frozenColCount: frozenColCount = 0, frozenRowCount: frozenRowCount, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth, widthMode: widthMode = "standard", heightMode: heightMode = "standard", autoFillWidth: autoFillWidth = !1, autoFillHeight: autoFillHeight = !1, widthAdaptiveMode: widthAdaptiveMode = "only-body", heightAdaptiveMode: heightAdaptiveMode = "only-body", keyboardOptions: keyboardOptions, eventOptions: eventOptions, rowSeriesNumber: rowSeriesNumber, columnResizeMode: columnResizeMode, rowResizeMode: rowResizeMode = "none", 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, limitMinHeight: limitMinHeight, clearDOM: clearDOM = !0} = options;
@@ -102,7 +102,8 @@ class BaseTable extends EventTarget_1.EventTarget {
102
102
  internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
103
103
  internalProps.limitMinHeight = null != limitMinHeight ? "number" == typeof limitMinHeight ? limitMinHeight : limitMinHeight ? 10 : 0 : 10,
104
104
  this.scenegraph = new scenegraph_1.Scenegraph(this), this.stateManager = new state_1.StateManager(this),
105
- this.eventManager = new event_1.EventManager(this), options.legends) {
105
+ this.eventManager = new event_1.EventManager(this), this.animationManager = new animation_1.TableAnimationManager(this),
106
+ options.legends) {
106
107
  internalProps.legends = [];
107
108
  const createLegend = factory_1.Factory.getFunction("createLegend");
108
109
  if (Array.isArray(options.legends)) {
@@ -1329,18 +1330,6 @@ class BaseTable extends EventTarget_1.EventTarget {
1329
1330
  const start_col = 0, start_row = this.columnHeaderLevelCount, end_col = this.rowHeaderLevelCount - 1, end_row = this.rowCount - 1;
1330
1331
  return Array(end_row - start_row + 1).fill(0).map(((_, i) => Array(end_col - start_col + 1).fill(0).map(((_, j) => this.getCellInfo(j + start_col, i + start_row)))));
1331
1332
  }
1332
- scrollToCell(cellAddr) {
1333
- const drawRange = this.getDrawRange();
1334
- if ((0, vutils_1.isValid)(cellAddr.col) && cellAddr.col >= this.frozenColCount) {
1335
- const frozenWidth = this.getFrozenColsWidth(), left = this.getColsWidth(0, cellAddr.col - 1);
1336
- this.scrollLeft = Math.min(left - frozenWidth, this.getAllColsWidth() - drawRange.width);
1337
- }
1338
- if ((0, vutils_1.isValid)(cellAddr.row) && cellAddr.row >= this.frozenRowCount) {
1339
- const frozenHeight = this.getFrozenRowsHeight(), top = this.getRowsHeight(0, cellAddr.row - 1);
1340
- this.scrollTop = Math.min(top - frozenHeight, this.getAllRowsHeight() - drawRange.height);
1341
- }
1342
- this.render();
1343
- }
1344
1333
  getCopyValue() {
1345
1334
  var _a, _b, _c;
1346
1335
  if ((null === (_b = null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.ranges) || void 0 === _b ? void 0 : _b.length) > 0) {
@@ -1736,6 +1725,33 @@ class BaseTable extends EventTarget_1.EventTarget {
1736
1725
  this.eventManager.enableScroll();
1737
1726
  }
1738
1727
  getGroupTitleLevel(col, row) {}
1728
+ scrollToRow(row, animationOption) {
1729
+ animationOption ? this.animationManager.scrollTo({
1730
+ row: row
1731
+ }, animationOption) : this.scrollToCell({
1732
+ row: row
1733
+ });
1734
+ }
1735
+ scrollToCol(col, animationOption) {
1736
+ animationOption ? this.animationManager.scrollTo({
1737
+ col: col
1738
+ }, animationOption) : this.scrollToCell({
1739
+ col: col
1740
+ });
1741
+ }
1742
+ scrollToCell(cellAddr, animationOption) {
1743
+ if (animationOption) return void this.animationManager.scrollTo(cellAddr, animationOption);
1744
+ const drawRange = this.getDrawRange();
1745
+ if ((0, vutils_1.isValid)(cellAddr.col) && cellAddr.col >= this.frozenColCount) {
1746
+ const frozenWidth = this.getFrozenColsWidth(), left = this.getColsWidth(0, cellAddr.col - 1);
1747
+ this.scrollLeft = Math.min(left - frozenWidth, this.getAllColsWidth() - drawRange.width);
1748
+ }
1749
+ if ((0, vutils_1.isValid)(cellAddr.row) && cellAddr.row >= this.frozenRowCount) {
1750
+ const frozenHeight = this.getFrozenRowsHeight(), top = this.getRowsHeight(0, cellAddr.row - 1);
1751
+ this.scrollTop = Math.min(top - frozenHeight, this.getAllRowsHeight() - drawRange.height);
1752
+ }
1753
+ this.render();
1754
+ }
1739
1755
  }
1740
1756
 
1741
1757
  exports.BaseTable = BaseTable;