@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(): {
@@ -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;
48
- if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.18.3",
48
+ if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.18.5-alpha.0",
49
49
  this.id = `VTable${Date.now()}`, this.isReleased = !1, this._chartEventMap = {},
50
50
  this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200), !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, keyboardOptions: keyboardOptions, eventOptions: eventOptions, columnResizeMode: columnResizeMode, 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} = options;
@@ -109,7 +109,7 @@ class BaseTable extends EventTarget_1.EventTarget {
109
109
  "html" === internalProps.menu.renderMode && (internalProps.menuHandler = new MenuHandler_1.MenuHandler(this)),
110
110
  this.headerStyleCache = new Map, this.bodyStyleCache = new Map, this.bodyBottomStyleCache = new Map,
111
111
  internalProps.stick = {
112
- changedCells: []
112
+ changedCells: new Map
113
113
  }, internalProps.customMergeCell = options.customMergeCell;
114
114
  }
115
115
  getContainer() {
@@ -338,7 +338,7 @@ class BaseTable extends EventTarget_1.EventTarget {
338
338
  Math.round(w);
339
339
  }
340
340
  getRowHeight(row) {
341
- if (this.rowHeightsMap.get(row)) return this.rowHeightsMap.get(row);
341
+ if ((0, vutils_1.isValid)(this.rowHeightsMap.get(row))) return this.rowHeightsMap.get(row);
342
342
  const defaultHeight = this.getDefaultRowHeight(row);
343
343
  return (0, vutils_1.isNumber)(defaultHeight) ? defaultHeight : this.defaultRowHeight;
344
344
  }
@@ -456,7 +456,7 @@ class BaseTable extends EventTarget_1.EventTarget {
456
456
  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,
457
457
  absoluteLeft += this.scrollLeft) : absoluteLeft = this.getColsWidth(0, col - 1) || 0;
458
458
  const height = this.getRowHeight(row);
459
- 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),
459
+ 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),
460
460
  absoluteTop += this.scrollTop) : absoluteTop = this.getRowsHeight(0, row - 1), new Rect_1.Rect(Math.round(absoluteLeft), Math.round(absoluteTop), Math.round(width), Math.round(height));
461
461
  }
462
462
  getMergeCellRect(col, row) {
@@ -464,12 +464,26 @@ class BaseTable extends EventTarget_1.EventTarget {
464
464
  return new Rect_1.Rect(Math.round(absoluteLeft), Math.round(absoluteTop), Math.round(width), Math.round(height));
465
465
  }
466
466
  getCellRelativeRect(col, row) {
467
- return this._toRelativeRect(this.getCellRect(col, row));
467
+ const isFrozenCell = this.isFrozenCell(col, row);
468
+ let relativeX = !0, relativeY = !0;
469
+ (null == isFrozenCell ? void 0 : isFrozenCell.col) && (null == isFrozenCell ? void 0 : isFrozenCell.row) ? (relativeX = !1,
470
+ relativeY = !1) : (null == isFrozenCell ? void 0 : isFrozenCell.col) ? relativeX = !1 : (null == isFrozenCell ? void 0 : isFrozenCell.row) && (relativeY = !1);
471
+ const cellRect = this.getCellRect(col, row);
472
+ return this._toRelativeRect(cellRect, relativeX, relativeY);
468
473
  }
469
474
  getCellRangeRelativeRect(range) {
470
- if (range.start) return this._toRelativeRect(this.getCellsRect(range.start.col, range.start.row, range.end.col, range.end.row));
471
- const cellRange = this.getCellRange(range.col, range.row);
472
- return this._toRelativeRect(this.getCellsRect(cellRange.start.col, cellRange.start.row, cellRange.end.col, cellRange.end.row));
475
+ if (range.start) {
476
+ const isFrozenCell = this.isFrozenCell(range.start.col, range.start.row);
477
+ let relativeX = !0, relativeY = !0;
478
+ return (null == isFrozenCell ? void 0 : isFrozenCell.col) && (null == isFrozenCell ? void 0 : isFrozenCell.row) ? (relativeX = !1,
479
+ relativeY = !1) : (null == isFrozenCell ? void 0 : isFrozenCell.col) ? relativeX = !1 : (null == isFrozenCell ? void 0 : isFrozenCell.row) && (relativeY = !1),
480
+ this._toRelativeRect(this.getCellsRect(range.start.col, range.start.row, range.end.col, range.end.row), relativeX, relativeY);
481
+ }
482
+ const cellRange = this.getCellRange(range.col, range.row), isFrozenCell = this.isFrozenCell(range.col, range.row);
483
+ let relativeX = !0, relativeY = !0;
484
+ return (null == isFrozenCell ? void 0 : isFrozenCell.col) && (null == isFrozenCell ? void 0 : isFrozenCell.row) ? (relativeX = !1,
485
+ relativeY = !1) : (null == isFrozenCell ? void 0 : isFrozenCell.col) ? relativeX = !1 : (null == isFrozenCell ? void 0 : isFrozenCell.row) && (relativeY = !1),
486
+ this._toRelativeRect(this.getCellsRect(cellRange.start.col, cellRange.start.row, cellRange.end.col, cellRange.end.row), relativeX, relativeY);
473
487
  }
474
488
  getVisibleCellRangeRelativeRect(range) {
475
489
  let cellRange;
@@ -584,9 +598,9 @@ class BaseTable extends EventTarget_1.EventTarget {
584
598
  }), 0);
585
599
  }));
586
600
  }
587
- _toRelativeRect(absoluteRect) {
601
+ _toRelativeRect(absoluteRect, relativeX = !0, relativeY = !0) {
588
602
  const rect = absoluteRect.copy(), visibleRect = this.getVisibleRect();
589
- return rect.offsetLeft(this.tableX - visibleRect.left), rect.offsetTop(this.tableY - visibleRect.top),
603
+ return rect.offsetLeft(this.tableX - (relativeX ? visibleRect.left : 0)), rect.offsetTop(this.tableY - (relativeY ? visibleRect.top : 0)),
590
604
  rect;
591
605
  }
592
606
  getVisibleRect() {
@@ -721,7 +735,7 @@ class BaseTable extends EventTarget_1.EventTarget {
721
735
  internalProps._rowRangeHeightsMap = new Map, internalProps._colRangeWidthsMap = new Map,
722
736
  internalProps._widthResizedColMap = new Set, this.colWidthsMap = new NumberMap_1.NumberMap,
723
737
  this.colContentWidthsMap = new NumberMap_1.NumberMap, this.colWidthsLimit = {},
724
- internalProps.theme = themes_1.default.of(null !== (_a = options.theme) && void 0 !== _a ? _a : themes_1.default.DEFAULT),
738
+ internalProps.stick.changedCells.clear(), internalProps.theme = themes_1.default.of(null !== (_a = options.theme) && void 0 !== _a ? _a : themes_1.default.DEFAULT),
725
739
  this.scenegraph.updateStageBackground(), internalProps.autoWrapText = options.autoWrapText,
726
740
  internalProps.allowFrozenColCount = null !== (_b = options.allowFrozenColCount) && void 0 !== _b ? _b : 0,
727
741
  internalProps.limitMaxAutoWidth = null !== (_c = options.limitMaxAutoWidth) && void 0 !== _c ? _c : 450,