@visactor/vtable 0.24.1 → 0.24.2-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 (45) hide show
  1. package/cjs/core/BaseTable.js +38 -4
  2. package/cjs/core/BaseTable.js.map +1 -1
  3. package/cjs/event/drill.js +1 -2
  4. package/cjs/event/media-click.js +2 -1
  5. package/cjs/index.d.ts +1 -1
  6. package/cjs/index.js +1 -1
  7. package/cjs/index.js.map +1 -1
  8. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +18 -9
  9. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  10. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +3 -3
  11. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  12. package/cjs/scenegraph/group-creater/progress/proxy.js +4 -2
  13. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  14. package/cjs/scenegraph/scenegraph.d.ts +1 -0
  15. package/cjs/scenegraph/scenegraph.js +8 -6
  16. package/cjs/scenegraph/scenegraph.js.map +1 -1
  17. package/cjs/scenegraph/select/update-select-border.js +4 -4
  18. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  19. package/cjs/state/state.js +1 -1
  20. package/cjs/themes/component.js +1 -1
  21. package/cjs/vrender.js.map +1 -1
  22. package/dist/vtable.js +103 -25
  23. package/dist/vtable.min.js +1 -1
  24. package/es/core/BaseTable.js +37 -5
  25. package/es/core/BaseTable.js.map +1 -1
  26. package/es/event/drill.js +1 -2
  27. package/es/event/media-click.js +2 -1
  28. package/es/index.d.ts +1 -1
  29. package/es/index.js +1 -1
  30. package/es/index.js.map +1 -1
  31. package/es/scenegraph/graphic/contributions/group-contribution-render.js +18 -9
  32. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  33. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +3 -3
  34. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  35. package/es/scenegraph/group-creater/progress/proxy.js +4 -2
  36. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  37. package/es/scenegraph/scenegraph.d.ts +1 -0
  38. package/es/scenegraph/scenegraph.js +8 -6
  39. package/es/scenegraph/scenegraph.js.map +1 -1
  40. package/es/scenegraph/select/update-select-border.js +4 -4
  41. package/es/scenegraph/select/update-select-border.js.map +1 -1
  42. package/es/state/state.js +1 -1
  43. package/es/themes/component.js +1 -1
  44. package/es/vrender.js.map +1 -1
  45. package/package.json +5 -5
@@ -82,7 +82,7 @@ export class BaseTable extends EventTarget {
82
82
  }
83
83
  constructor(container, options = {}) {
84
84
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
85
- if (super(), this.showFrozenIcon = !0, this.version = "0.24.1", this.id = `VTable${Date.now()}`,
85
+ if (super(), this.showFrozenIcon = !0, this.version = "0.24.2-alpha.2", this.id = `VTable${Date.now()}`,
86
86
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = throttle2(this.render.bind(this), 200),
87
87
  !container && "node" !== options.mode) throw new Error("vtable's container is undefined");
88
88
  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, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, customRender: customRender, pixelRatio: pixelRatio = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth} = options;
@@ -1592,7 +1592,31 @@ export class BaseTable extends EventTarget {
1592
1592
  }
1593
1593
  cellIsInVisualView(col, row) {
1594
1594
  const drawRange = this.getDrawRange(), rect = this.getCellRelativeRect(col, row);
1595
- return col < this.frozenColCount && row < this.frozenRowCount || rect.top >= drawRange.top && rect.bottom <= drawRange.bottom && rect.left >= drawRange.left && rect.right <= drawRange.right;
1595
+ if (col < this.frozenColCount && row < this.frozenRowCount) return !0;
1596
+ const colHeaderRangeRect = this.getCellRangeRelativeRect({
1597
+ start: {
1598
+ col: 0,
1599
+ row: 0
1600
+ },
1601
+ end: {
1602
+ col: this.colCount - 1,
1603
+ row: this.columnHeaderLevelCount
1604
+ }
1605
+ }), rowHeaderRangeRect = this.getCellRangeRelativeRect({
1606
+ start: {
1607
+ col: 0,
1608
+ row: 0
1609
+ },
1610
+ end: {
1611
+ col: this.rowHeaderLevelCount,
1612
+ row: this.rowCount - 1
1613
+ }
1614
+ });
1615
+ if (rect.top >= drawRange.top && rect.bottom <= drawRange.bottom && rect.left >= drawRange.left && rect.right <= drawRange.right) {
1616
+ if (this.isHeader(col, row)) return !0;
1617
+ if (drawRange.top >= colHeaderRangeRect.bottom && drawRange.left >= rowHeaderRangeRect.right) return !0;
1618
+ }
1619
+ return !1;
1596
1620
  }
1597
1621
  getCustomMergeValue(col, row) {
1598
1622
  if (this.internalProps.customMergeCell) {
@@ -1616,13 +1640,15 @@ export class BaseTable extends EventTarget {
1616
1640
  const cellRect = this.getCellRelativeRect(col, row);
1617
1641
  (null === (_b = null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.ranges) || void 0 === _b ? void 0 : _b.length) > 0 && hideCellSelectBorder(this.scenegraph);
1618
1642
  const {col: hoverCol, row: hoverRow} = this.stateManager.hover.cellPos;
1619
- this.stateManager.updateHoverPos(-1, -1), this.scenegraph.renderSceneGraph();
1643
+ this.stateManager.updateHoverPos(-1, -1), this.scenegraph.component.hideVerticalScrollBar(),
1644
+ this.scenegraph.component.hideHorizontalScrollBar(), this.scenegraph.renderSceneGraph();
1620
1645
  const c = this.scenegraph.stage.toCanvas(!1, (new AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY));
1621
1646
  return isInView || (this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft)),
1622
1647
  (null === (_d = null === (_c = this.stateManager.select) || void 0 === _c ? void 0 : _c.ranges) || void 0 === _d ? void 0 : _d.length) > 0 && restoreCellSelectBorder(this.scenegraph),
1623
1648
  this.stateManager.updateHoverPos(hoverCol, hoverRow), c.toDataURL();
1624
1649
  }
1625
1650
  exportCellRangeImg(cellRange) {
1651
+ var _a, _b, _c, _d;
1626
1652
  const {scrollTop: scrollTop, scrollLeft: scrollLeft} = this, minCol = Math.min(cellRange.start.col, cellRange.end.col), minRow = Math.min(cellRange.start.row, cellRange.end.row), maxCol = Math.max(cellRange.start.col, cellRange.end.col), maxRow = Math.max(cellRange.start.row, cellRange.end.row), isInView = this.cellIsInVisualView(minCol, minRow), isMaxCellInView = this.cellIsInVisualView(maxCol, maxRow);
1627
1653
  isInView && isMaxCellInView || this.scrollToCell({
1628
1654
  col: minCol,
@@ -1637,9 +1663,15 @@ export class BaseTable extends EventTarget {
1637
1663
  col: maxCol,
1638
1664
  row: maxRow
1639
1665
  }
1640
- }), base64Image = this.scenegraph.stage.toCanvas(!1, (new AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY)).toDataURL();
1666
+ });
1667
+ (null === (_b = null === (_a = this.stateManager.select) || void 0 === _a ? void 0 : _a.ranges) || void 0 === _b ? void 0 : _b.length) > 0 && hideCellSelectBorder(this.scenegraph);
1668
+ const {col: hoverCol, row: hoverRow} = this.stateManager.hover.cellPos;
1669
+ this.stateManager.updateHoverPos(-1, -1), this.scenegraph.component.hideVerticalScrollBar(),
1670
+ this.scenegraph.component.hideHorizontalScrollBar(), this.scenegraph.renderSceneGraph();
1671
+ const base64Image = this.scenegraph.stage.toCanvas(!1, (new AABBBounds).set(cellRect.left + this.tableX + 1, cellRect.top + this.tableY + 1, cellRect.right + this.tableX, cellRect.bottom + this.tableY)).toDataURL();
1641
1672
  return isInView && isMaxCellInView || (this.setScrollTop(scrollTop), this.setScrollLeft(scrollLeft)),
1642
- base64Image;
1673
+ (null === (_d = null === (_c = this.stateManager.select) || void 0 === _c ? void 0 : _c.ranges) || void 0 === _d ? void 0 : _d.length) > 0 && restoreCellSelectBorder(this.scenegraph),
1674
+ this.stateManager.updateHoverPos(hoverCol, hoverRow), base64Image;
1643
1675
  }
1644
1676
  exportCanvas() {
1645
1677
  return this.scenegraph.stage.toCanvas();