@visactor/vtable 0.25.5 → 0.25.6

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 (127) hide show
  1. package/cjs/ListTable.js +11 -15
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/core/BaseTable.js +24 -5
  4. package/cjs/core/BaseTable.js.map +1 -1
  5. package/cjs/core/TABLE_EVENT_TYPE.d.ts +1 -0
  6. package/cjs/core/TABLE_EVENT_TYPE.js +1 -0
  7. package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
  8. package/cjs/edit/edit-manager.js +8 -7
  9. package/cjs/edit/edit-manager.js.map +1 -1
  10. package/cjs/event/listener/scroll-bar.js +6 -2
  11. package/cjs/event/listener/scroll-bar.js.map +1 -1
  12. package/cjs/event/listener/table-group.js +29 -19
  13. package/cjs/event/listener/table-group.js.map +1 -1
  14. package/cjs/event/util.d.ts +2 -0
  15. package/cjs/event/util.js +18 -4
  16. package/cjs/event/util.js.map +1 -1
  17. package/cjs/header-helper/header-helper.d.ts +1 -0
  18. package/cjs/header-helper/header-helper.js +8 -0
  19. package/cjs/header-helper/header-helper.js.map +1 -1
  20. package/cjs/index.d.ts +1 -1
  21. package/cjs/index.js +1 -1
  22. package/cjs/index.js.map +1 -1
  23. package/cjs/layout/pivot-header-layout.d.ts +1 -0
  24. package/cjs/layout/pivot-header-layout.js +19 -3
  25. package/cjs/layout/pivot-header-layout.js.map +1 -1
  26. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +2 -2
  27. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  28. package/cjs/scenegraph/graphic/group.d.ts +1 -1
  29. package/cjs/scenegraph/graphic/group.js.map +1 -1
  30. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +1 -1
  31. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  32. package/cjs/scenegraph/group-creater/column-helper.js +1 -1
  33. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  34. package/cjs/scenegraph/group-creater/progress/proxy.js +4 -2
  35. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  36. package/cjs/scenegraph/layout/compute-col-width.js +2 -1
  37. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  38. package/cjs/scenegraph/layout/update-height.js +2 -2
  39. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  40. package/cjs/scenegraph/scenegraph.js +10 -3
  41. package/cjs/scenegraph/scenegraph.js.map +1 -1
  42. package/cjs/scenegraph/utils/text-icon-layout.js +4 -4
  43. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  44. package/cjs/scenegraph/utils/text-measure.js +3 -1
  45. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  46. package/cjs/state/cell-move/index.js +2 -1
  47. package/cjs/state/cell-move/index.js.map +1 -1
  48. package/cjs/state/checkbox/checkbox.d.ts +1 -0
  49. package/cjs/state/checkbox/checkbox.js +12 -2
  50. package/cjs/state/checkbox/checkbox.js.map +1 -1
  51. package/cjs/state/radio/radio.d.ts +1 -0
  52. package/cjs/state/radio/radio.js +13 -2
  53. package/cjs/state/radio/radio.js.map +1 -1
  54. package/cjs/state/state.d.ts +1 -0
  55. package/cjs/state/state.js +5 -1
  56. package/cjs/state/state.js.map +1 -1
  57. package/cjs/ts-types/base-table.js.map +1 -1
  58. package/cjs/ts-types/common.d.ts +6 -0
  59. package/cjs/ts-types/common.js.map +1 -1
  60. package/cjs/ts-types/events.d.ts +4 -1
  61. package/cjs/ts-types/events.js.map +1 -1
  62. package/cjs/vrender.js.map +1 -1
  63. package/dist/vtable.js +239 -70
  64. package/dist/vtable.min.js +2 -2
  65. package/es/ListTable.js +6 -11
  66. package/es/ListTable.js.map +1 -1
  67. package/es/core/BaseTable.js +24 -5
  68. package/es/core/BaseTable.js.map +1 -1
  69. package/es/core/TABLE_EVENT_TYPE.d.ts +1 -0
  70. package/es/core/TABLE_EVENT_TYPE.js +1 -0
  71. package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
  72. package/es/edit/edit-manager.js +8 -7
  73. package/es/edit/edit-manager.js.map +1 -1
  74. package/es/event/listener/scroll-bar.js +6 -2
  75. package/es/event/listener/scroll-bar.js.map +1 -1
  76. package/es/event/listener/table-group.js +29 -19
  77. package/es/event/listener/table-group.js.map +1 -1
  78. package/es/event/util.d.ts +2 -0
  79. package/es/event/util.js +12 -0
  80. package/es/event/util.js.map +1 -1
  81. package/es/header-helper/header-helper.d.ts +1 -0
  82. package/es/header-helper/header-helper.js +8 -0
  83. package/es/header-helper/header-helper.js.map +1 -1
  84. package/es/index.d.ts +1 -1
  85. package/es/index.js +1 -1
  86. package/es/index.js.map +1 -1
  87. package/es/layout/pivot-header-layout.d.ts +1 -0
  88. package/es/layout/pivot-header-layout.js +19 -3
  89. package/es/layout/pivot-header-layout.js.map +1 -1
  90. package/es/scenegraph/graphic/contributions/group-contribution-render.js +2 -2
  91. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  92. package/es/scenegraph/graphic/group.d.ts +1 -1
  93. package/es/scenegraph/graphic/group.js.map +1 -1
  94. package/es/scenegraph/group-creater/cell-type/text-cell.js +1 -1
  95. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  96. package/es/scenegraph/group-creater/column-helper.js +1 -1
  97. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  98. package/es/scenegraph/group-creater/progress/proxy.js +4 -2
  99. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  100. package/es/scenegraph/layout/compute-col-width.js +2 -1
  101. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  102. package/es/scenegraph/layout/update-height.js +2 -2
  103. package/es/scenegraph/layout/update-height.js.map +1 -1
  104. package/es/scenegraph/scenegraph.js +10 -3
  105. package/es/scenegraph/scenegraph.js.map +1 -1
  106. package/es/scenegraph/utils/text-icon-layout.js +4 -4
  107. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  108. package/es/scenegraph/utils/text-measure.js +3 -1
  109. package/es/scenegraph/utils/text-measure.js.map +1 -1
  110. package/es/state/cell-move/index.js +2 -1
  111. package/es/state/cell-move/index.js.map +1 -1
  112. package/es/state/checkbox/checkbox.d.ts +1 -0
  113. package/es/state/checkbox/checkbox.js +10 -0
  114. package/es/state/checkbox/checkbox.js.map +1 -1
  115. package/es/state/radio/radio.d.ts +1 -0
  116. package/es/state/radio/radio.js +10 -0
  117. package/es/state/radio/radio.js.map +1 -1
  118. package/es/state/state.d.ts +1 -0
  119. package/es/state/state.js +7 -3
  120. package/es/state/state.js.map +1 -1
  121. package/es/ts-types/base-table.js.map +1 -1
  122. package/es/ts-types/common.d.ts +6 -0
  123. package/es/ts-types/common.js.map +1 -1
  124. package/es/ts-types/events.d.ts +4 -1
  125. package/es/ts-types/events.js.map +1 -1
  126. package/es/vrender.js.map +1 -1
  127. package/package.json +4 -4
@@ -45,7 +45,7 @@ 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.25.5", this.id = `VTable${Date.now()}`,
48
+ if (super(), this.showFrozenIcon = !0, this.version = "0.25.6", this.id = `VTable${Date.now()}`,
49
49
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200),
50
50
  !container && "node" !== options.mode) 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, 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;
@@ -362,7 +362,16 @@ class BaseTable extends EventTarget_1.EventTarget {
362
362
  Math.round(w);
363
363
  }
364
364
  getRowHeight(row) {
365
- if ((0, vutils_1.isValid)(this.rowHeightsMap.get(row))) return this.rowHeightsMap.get(row);
365
+ var _a;
366
+ if ((0, vutils_1.isValid)(this.rowHeightsMap.get(row))) {
367
+ if (null === (_a = this.options.customConfig) || void 0 === _a ? void 0 : _a._disableColumnAndRowSizeRound) {
368
+ const height = this.rowHeightsMap.get(row);
369
+ let heightRange;
370
+ return heightRange = row < this.frozenRowCount ? this.rowHeightsMap.getSumInRange(0, row) : row >= this.rowCount - this.bottomFrozenRowCount ? this.rowHeightsMap.getSumInRange(row, this.rowCount - 1) : this.rowHeightsMap.getSumInRange(this.frozenRowCount, row),
371
+ heightRange = Number(heightRange.toFixed(2)), Number.isInteger(heightRange) ? Math.ceil(height) : Math.floor(height);
372
+ }
373
+ return this.rowHeightsMap.get(row);
374
+ }
366
375
  const defaultHeight = this.getDefaultRowHeight(row);
367
376
  return (0, vutils_1.isNumber)(defaultHeight) ? defaultHeight : this.defaultRowHeight;
368
377
  }
@@ -375,14 +384,24 @@ class BaseTable extends EventTarget_1.EventTarget {
375
384
  return this.isColumnHeader(0, row) || this.isCornerHeader(0, row) || this.isSeriesNumberInHeader(0, row) ? Array.isArray(this.defaultHeaderRowHeight) ? null !== (_a = this.defaultHeaderRowHeight[row]) && void 0 !== _a ? _a : this.internalProps.defaultRowHeight : this.defaultHeaderRowHeight : this.isBottomFrozenRow(row) ? Array.isArray(this.defaultHeaderRowHeight) ? null !== (_b = this.defaultHeaderRowHeight[this.columnHeaderLevelCount > 0 ? this.columnHeaderLevelCount - this.bottomFrozenRowCount : 0]) && void 0 !== _b ? _b : this.internalProps.defaultRowHeight : this.defaultHeaderRowHeight : this.internalProps.defaultRowHeight;
376
385
  }
377
386
  _setRowHeight(row, height, clearCache) {
378
- this.rowHeightsMap.put(row, Math.round(height)), clearCache && this._clearRowRangeHeightsMap(row);
387
+ var _a;
388
+ this.rowHeightsMap.put(row, (null === (_a = this.options.customConfig) || void 0 === _a ? void 0 : _a._disableColumnAndRowSizeRound) ? height : Math.round(height)),
389
+ clearCache && this._clearRowRangeHeightsMap(row);
379
390
  }
380
391
  getRowsHeight(startRow, endRow) {
381
- var _a;
392
+ var _a, _b;
382
393
  if (startRow > endRow || 0 === this.rowCount) return 0;
383
394
  startRow = Math.max(startRow, 0), endRow = Math.min(endRow, (null !== (_a = this.rowCount) && void 0 !== _a ? _a : 1 / 0) - 1);
384
395
  let h = 0;
385
- if ("standard" !== this.heightMode || this.autoFillHeight || !this.internalProps.layoutMap || this.hasAutoImageColumn() || 0 !== this.internalProps._heightResizedRowMap.size) h = this.rowHeightsMap.getSumInRange(startRow, endRow); else {
396
+ if ("standard" !== this.heightMode || this.autoFillHeight || !this.internalProps.layoutMap || this.hasAutoImageColumn() || 0 !== this.internalProps._heightResizedRowMap.size) {
397
+ if (null === (_b = this.options.customConfig) || void 0 === _b ? void 0 : _b._disableColumnAndRowSizeRound) {
398
+ const tempH = this.rowHeightsMap.getSumInRange(startRow, endRow);
399
+ let heightRange;
400
+ return heightRange = endRow < this.frozenRowCount ? this.rowHeightsMap.getSumInRange(0, endRow) : endRow >= this.rowCount - this.bottomFrozenRowCount ? this.rowHeightsMap.getSumInRange(endRow, this.rowCount - 1) : this.rowHeightsMap.getSumInRange(this.frozenRowCount, endRow),
401
+ heightRange = Number(heightRange.toFixed(2)), Number.isInteger(heightRange) ? Math.ceil(tempH) : Math.floor(tempH);
402
+ }
403
+ h = this.rowHeightsMap.getSumInRange(startRow, endRow);
404
+ } else {
386
405
  for (let i = startRow; i < Math.min(endRow + 1, this.columnHeaderLevelCount); i++) h += this.getRowHeight(i);
387
406
  endRow >= this.columnHeaderLevelCount && (h += this.defaultRowHeight * (Math.min(endRow, this.rowCount - this.bottomFrozenRowCount - 1) - Math.max(this.columnHeaderLevelCount, startRow) + 1));
388
407
  for (let i = this.rowCount - this.bottomFrozenRowCount; i < endRow + 1; i++) h += this.getRowHeight(i);