@visactor/vtable 0.18.3 → 0.18.5-alpha.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 (63) hide show
  1. package/cjs/core/BaseTable.d.ts +1 -1
  2. package/cjs/core/BaseTable.js +25 -11
  3. package/cjs/core/BaseTable.js.map +1 -1
  4. package/cjs/icons.js +10 -0
  5. package/cjs/icons.js.map +1 -1
  6. package/cjs/index.d.ts +1 -1
  7. package/cjs/index.js +1 -1
  8. package/cjs/index.js.map +1 -1
  9. package/cjs/scenegraph/graphic/contributions/draw-interceptor.d.ts +13 -0
  10. package/cjs/scenegraph/graphic/contributions/draw-interceptor.js +90 -0
  11. package/cjs/scenegraph/graphic/contributions/draw-interceptor.js.map +1 -0
  12. package/cjs/scenegraph/graphic/contributions/index.js +4 -2
  13. package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
  14. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +38 -18
  15. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  16. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
  17. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  18. package/cjs/scenegraph/layout/compute-row-height.js +1 -1
  19. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  20. package/cjs/scenegraph/stick-text/index.js +5 -5
  21. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  22. package/cjs/scenegraph/utils/keep-aspect-ratio.js +5 -4
  23. package/cjs/scenegraph/utils/keep-aspect-ratio.js.map +1 -1
  24. package/cjs/state/select/update-position.js +10 -1
  25. package/cjs/state/select/update-position.js.map +1 -1
  26. package/cjs/themes/ARCO.js +1 -2
  27. package/cjs/themes/BRIGHT.js +2 -1
  28. package/cjs/ts-types/base-table.d.ts +1 -1
  29. package/cjs/ts-types/base-table.js.map +1 -1
  30. package/cjs/vrender.js.map +1 -1
  31. package/dist/vtable.js +708 -414
  32. package/dist/vtable.min.js +2 -2
  33. package/es/core/BaseTable.d.ts +1 -1
  34. package/es/core/BaseTable.js +26 -11
  35. package/es/core/BaseTable.js.map +1 -1
  36. package/es/icons.js +10 -0
  37. package/es/icons.js.map +1 -1
  38. package/es/index.d.ts +1 -1
  39. package/es/index.js +1 -1
  40. package/es/index.js.map +1 -1
  41. package/es/scenegraph/graphic/contributions/draw-interceptor.d.ts +13 -0
  42. package/es/scenegraph/graphic/contributions/draw-interceptor.js +64 -0
  43. package/es/scenegraph/graphic/contributions/draw-interceptor.js.map +1 -0
  44. package/es/scenegraph/graphic/contributions/index.js +5 -2
  45. package/es/scenegraph/graphic/contributions/index.js.map +1 -1
  46. package/es/scenegraph/group-creater/cell-type/image-cell.js +35 -17
  47. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  48. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
  49. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  50. package/es/scenegraph/layout/compute-row-height.js +1 -1
  51. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  52. package/es/scenegraph/stick-text/index.js +5 -5
  53. package/es/scenegraph/stick-text/index.js.map +1 -1
  54. package/es/scenegraph/utils/keep-aspect-ratio.js +5 -4
  55. package/es/scenegraph/utils/keep-aspect-ratio.js.map +1 -1
  56. package/es/state/select/update-position.js +10 -1
  57. package/es/state/select/update-position.js.map +1 -1
  58. package/es/themes/ARCO.js +1 -2
  59. package/es/themes/BRIGHT.js +2 -1
  60. package/es/ts-types/base-table.d.ts +1 -1
  61. package/es/ts-types/base-table.js.map +1 -1
  62. package/es/vrender.js.map +1 -1
  63. package/package.json +9 -9
@@ -174,7 +174,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
174
174
  _makeVisibleCell(col: number, row: number): void;
175
175
  render(): void;
176
176
  renderAsync(): Promise<void>;
177
- _toRelativeRect(absoluteRect: Rect): Rect;
177
+ _toRelativeRect(absoluteRect: Rect, relativeX?: boolean, relativeY?: boolean): Rect;
178
178
  getVisibleRect(): Rect;
179
179
  get visibleRowCount(): number;
180
180
  getBodyVisibleCellRange(): {
@@ -74,7 +74,7 @@ export class BaseTable extends EventTarget {
74
74
  }
75
75
  constructor(container, options = {}) {
76
76
  var _a, _b, _c, _d, _e, _f, _g;
77
- if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.18.3",
77
+ if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.18.5-alpha.0",
78
78
  this.id = `VTable${Date.now()}`, this.isReleased = !1, this._chartEventMap = {},
79
79
  this.throttleInvalidate = throttle2(this.render.bind(this), 200), !container && "node" !== options.mode) throw new Error("vtable's container is undefined");
80
80
  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, 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;
@@ -136,7 +136,7 @@ export class BaseTable extends EventTarget {
136
136
  "html" === internalProps.menu.renderMode && (internalProps.menuHandler = new MenuHandler(this)),
137
137
  this.headerStyleCache = new Map, this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map,
138
138
  internalProps.stick = {
139
- changedCells: []
139
+ changedCells: new Map
140
140
  }, internalProps.customMergeCell = options.customMergeCell;
141
141
  }
142
142
  getContainer() {
@@ -365,7 +365,7 @@ export class BaseTable extends EventTarget {
365
365
  Math.round(w);
366
366
  }
367
367
  getRowHeight(row) {
368
- if (this.rowHeightsMap.get(row)) return this.rowHeightsMap.get(row);
368
+ if (isValid(this.rowHeightsMap.get(row))) return this.rowHeightsMap.get(row);
369
369
  const defaultHeight = this.getDefaultRowHeight(row);
370
370
  return isNumber(defaultHeight) ? defaultHeight : this.defaultRowHeight;
371
371
  }
@@ -479,7 +479,7 @@ export class BaseTable extends EventTarget {
479
479
  isFrozenCell && isFrozenCell.col ? this.isRightFrozenColumn(col, row) ? absoluteLeft = this.tableNoFrameWidth - (null !== (_a = this.getColsWidth(col, this.colCount - 1)) && void 0 !== _a ? _a : 0) : (absoluteLeft = this.getColsWidth(0, col - 1) || 0,
480
480
  absoluteLeft += this.scrollLeft) : absoluteLeft = this.getColsWidth(0, col - 1) || 0;
481
481
  const height = this.getRowHeight(row);
482
- return isFrozenCell && isFrozenCell.row ? this.isBottomFrozenRow(col, row) ? absoluteLeft = this.tableNoFrameHeight - (null !== (_b = this.getRowsHeight(row, this.rowCount - 1)) && void 0 !== _b ? _b : 0) : (absoluteTop = this.getRowsHeight(0, row - 1),
482
+ return isFrozenCell && isFrozenCell.row ? this.isBottomFrozenRow(col, row) ? absoluteTop = this.tableNoFrameHeight - (null !== (_b = this.getRowsHeight(row, this.rowCount - 1)) && void 0 !== _b ? _b : 0) : (absoluteTop = this.getRowsHeight(0, row - 1),
483
483
  absoluteTop += this.scrollTop) : absoluteTop = this.getRowsHeight(0, row - 1), new Rect(Math.round(absoluteLeft), Math.round(absoluteTop), Math.round(width), Math.round(height));
484
484
  }
485
485
  getMergeCellRect(col, row) {
@@ -487,12 +487,26 @@ export class BaseTable extends EventTarget {
487
487
  return new Rect(Math.round(absoluteLeft), Math.round(absoluteTop), Math.round(width), Math.round(height));
488
488
  }
489
489
  getCellRelativeRect(col, row) {
490
- return this._toRelativeRect(this.getCellRect(col, row));
490
+ const isFrozenCell = this.isFrozenCell(col, row);
491
+ let relativeX = !0, relativeY = !0;
492
+ (null == isFrozenCell ? void 0 : isFrozenCell.col) && (null == isFrozenCell ? void 0 : isFrozenCell.row) ? (relativeX = !1,
493
+ relativeY = !1) : (null == isFrozenCell ? void 0 : isFrozenCell.col) ? relativeX = !1 : (null == isFrozenCell ? void 0 : isFrozenCell.row) && (relativeY = !1);
494
+ const cellRect = this.getCellRect(col, row);
495
+ return this._toRelativeRect(cellRect, relativeX, relativeY);
491
496
  }
492
497
  getCellRangeRelativeRect(range) {
493
- if (range.start) return this._toRelativeRect(this.getCellsRect(range.start.col, range.start.row, range.end.col, range.end.row));
494
- const cellRange = this.getCellRange(range.col, range.row);
495
- return this._toRelativeRect(this.getCellsRect(cellRange.start.col, cellRange.start.row, cellRange.end.col, cellRange.end.row));
498
+ if (range.start) {
499
+ const isFrozenCell = this.isFrozenCell(range.start.col, range.start.row);
500
+ let relativeX = !0, relativeY = !0;
501
+ return (null == isFrozenCell ? void 0 : isFrozenCell.col) && (null == isFrozenCell ? void 0 : isFrozenCell.row) ? (relativeX = !1,
502
+ relativeY = !1) : (null == isFrozenCell ? void 0 : isFrozenCell.col) ? relativeX = !1 : (null == isFrozenCell ? void 0 : isFrozenCell.row) && (relativeY = !1),
503
+ this._toRelativeRect(this.getCellsRect(range.start.col, range.start.row, range.end.col, range.end.row), relativeX, relativeY);
504
+ }
505
+ const cellRange = this.getCellRange(range.col, range.row), isFrozenCell = this.isFrozenCell(range.col, range.row);
506
+ let relativeX = !0, relativeY = !0;
507
+ return (null == isFrozenCell ? void 0 : isFrozenCell.col) && (null == isFrozenCell ? void 0 : isFrozenCell.row) ? (relativeX = !1,
508
+ relativeY = !1) : (null == isFrozenCell ? void 0 : isFrozenCell.col) ? relativeX = !1 : (null == isFrozenCell ? void 0 : isFrozenCell.row) && (relativeY = !1),
509
+ this._toRelativeRect(this.getCellsRect(cellRange.start.col, cellRange.start.row, cellRange.end.col, cellRange.end.row), relativeX, relativeY);
496
510
  }
497
511
  getVisibleCellRangeRelativeRect(range) {
498
512
  let cellRange;
@@ -607,9 +621,9 @@ export class BaseTable extends EventTarget {
607
621
  }), 0);
608
622
  }));
609
623
  }
610
- _toRelativeRect(absoluteRect) {
624
+ _toRelativeRect(absoluteRect, relativeX = !0, relativeY = !0) {
611
625
  const rect = absoluteRect.copy(), visibleRect = this.getVisibleRect();
612
- return rect.offsetLeft(this.tableX - visibleRect.left), rect.offsetTop(this.tableY - visibleRect.top),
626
+ return rect.offsetLeft(this.tableX - (relativeX ? visibleRect.left : 0)), rect.offsetTop(this.tableY - (relativeY ? visibleRect.top : 0)),
613
627
  rect;
614
628
  }
615
629
  getVisibleRect() {
@@ -743,7 +757,8 @@ export class BaseTable extends EventTarget {
743
757
  internalProps.cellTextOverflows = {}, internalProps._rowHeightsMap = new NumberMap,
744
758
  internalProps._rowRangeHeightsMap = new Map, internalProps._colRangeWidthsMap = new Map,
745
759
  internalProps._widthResizedColMap = new Set, this.colWidthsMap = new NumberMap,
746
- this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {}, internalProps.theme = themes.of(null !== (_a = options.theme) && void 0 !== _a ? _a : themes.DEFAULT),
760
+ this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {}, internalProps.stick.changedCells.clear(),
761
+ internalProps.theme = themes.of(null !== (_a = options.theme) && void 0 !== _a ? _a : themes.DEFAULT),
747
762
  this.scenegraph.updateStageBackground(), internalProps.autoWrapText = options.autoWrapText,
748
763
  internalProps.allowFrozenColCount = null !== (_b = options.allowFrozenColCount) && void 0 !== _b ? _b : 0,
749
764
  internalProps.limitMaxAutoWidth = null !== (_c = options.limitMaxAutoWidth) && void 0 !== _c ? _c : 450,