@visactor/vtable 0.18.3-alpha.0 → 0.18.4

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 (51) hide show
  1. package/cjs/core/BaseTable.d.ts +1 -3
  2. package/cjs/core/BaseTable.js +37 -29
  3. package/cjs/core/BaseTable.js.map +1 -1
  4. package/cjs/edit/edit-manager.d.ts +1 -0
  5. package/cjs/edit/edit-manager.js +3 -0
  6. package/cjs/edit/edit-manager.js.map +1 -1
  7. package/cjs/event/listener/container-dom.js +1 -2
  8. package/cjs/event/listener/container-dom.js.map +1 -1
  9. package/cjs/event/listener/table-group.js +2 -2
  10. package/cjs/event/listener/table-group.js.map +1 -1
  11. package/cjs/event/util.js +2 -2
  12. package/cjs/event/util.js.map +1 -1
  13. package/cjs/index.d.ts +1 -1
  14. package/cjs/index.js +1 -1
  15. package/cjs/index.js.map +1 -1
  16. package/cjs/scenegraph/debug-tool/debug-tool.js +1 -4
  17. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  18. package/cjs/scenegraph/graphic/chart.js +6 -12
  19. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  20. package/cjs/scenegraph/scenegraph.js +2 -5
  21. package/cjs/scenegraph/scenegraph.js.map +1 -1
  22. package/cjs/ts-types/base-table.d.ts +5 -3
  23. package/cjs/ts-types/base-table.js.map +1 -1
  24. package/cjs/vrender.js.map +1 -1
  25. package/dist/vtable.js +209 -175
  26. package/dist/vtable.min.js +2 -2
  27. package/es/core/BaseTable.d.ts +1 -3
  28. package/es/core/BaseTable.js +37 -29
  29. package/es/core/BaseTable.js.map +1 -1
  30. package/es/edit/edit-manager.d.ts +1 -0
  31. package/es/edit/edit-manager.js +3 -0
  32. package/es/edit/edit-manager.js.map +1 -1
  33. package/es/event/listener/container-dom.js +1 -2
  34. package/es/event/listener/container-dom.js.map +1 -1
  35. package/es/event/listener/table-group.js +2 -2
  36. package/es/event/listener/table-group.js.map +1 -1
  37. package/es/event/util.js +2 -2
  38. package/es/event/util.js.map +1 -1
  39. package/es/index.d.ts +1 -1
  40. package/es/index.js +1 -1
  41. package/es/index.js.map +1 -1
  42. package/es/scenegraph/debug-tool/debug-tool.js +1 -4
  43. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  44. package/es/scenegraph/graphic/chart.js +6 -12
  45. package/es/scenegraph/graphic/chart.js.map +1 -1
  46. package/es/scenegraph/scenegraph.js +2 -5
  47. package/es/scenegraph/scenegraph.js.map +1 -1
  48. package/es/ts-types/base-table.d.ts +5 -3
  49. package/es/ts-types/base-table.js.map +1 -1
  50. package/es/vrender.js.map +1 -1
  51. package/package.json +6 -6
@@ -9,7 +9,6 @@ import { Scenegraph } from '../scenegraph/scenegraph';
9
9
  import { StateManager } from '../state/state';
10
10
  import { EventManager } from '../event/event';
11
11
  import type { CachedDataSource, DataSource } from '../data';
12
- import type { IBoundsLike } from '@visactor/vutils';
13
12
  import { type ITextSize } from '@visactor/vutils';
14
13
  import type { ColumnData, ColumnDefine, ColumnsDefine, IndicatorData } from '../ts-types/list-table/layout-map/api';
15
14
  import type { TooltipOptions } from '../ts-types/tooltip';
@@ -124,7 +123,6 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
124
123
  _adjustColWidth(col: number, orgWidth: number): number;
125
124
  setPixelRatio(pixelRatio: number): void;
126
125
  _updateSize(): void;
127
- updateViewBox(newViewBox: IBoundsLike): void;
128
126
  get rowHierarchyType(): 'grid' | 'tree';
129
127
  getColsWidth(startCol: number, endCol: number): number;
130
128
  getRowHeight(row: number): number;
@@ -176,7 +174,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
176
174
  _makeVisibleCell(col: number, row: number): void;
177
175
  render(): void;
178
176
  renderAsync(): Promise<void>;
179
- _toRelativeRect(absoluteRect: Rect): Rect;
177
+ _toRelativeRect(absoluteRect: Rect, relativeX?: boolean, relativeY?: boolean): Rect;
180
178
  getVisibleRect(): Rect;
181
179
  get visibleRowCount(): number;
182
180
  getBodyVisibleCellRange(): {
@@ -45,9 +45,9 @@ 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-alpha.0",
48
+ if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.18.4",
49
49
  this.id = `VTable${Date.now()}`, this.isReleased = !1, this._chartEventMap = {},
50
- this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200), !container && "node" !== options.mode && !options.canvas) throw new Error("vtable's container is undefined");
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;
52
52
  this.container = container, this.options = options, this.options.container = container,
53
53
  this._widthMode = widthMode, this._heightMode = heightMode, this._autoFillWidth = autoFillWidth,
@@ -63,10 +63,8 @@ class BaseTable extends EventTarget_1.EventTarget {
63
63
  this.tableNoFrameHeight = 0, this.canvasWidth = canvasWidth, this.canvasHeight = canvasHeight;
64
64
  const internalProps = this.internalProps = {};
65
65
  void 0 !== showFrozenIcon && (this.showFrozenIcon = showFrozenIcon), "number" == typeof allowFrozenColCount && allowFrozenColCount <= 0 && (this.showFrozenIcon = !1),
66
- this.options.canvas ? (internalProps.element = this.options.canvas.parentElement,
66
+ "node" !== env_1.Env.mode && (internalProps.element = (0, tableHelper_1.createRootElement)(this.padding),
67
67
  internalProps.focusControl = new FouseInput_1.FocusInput(this, internalProps.element),
68
- internalProps.canvas = this.options.canvas, internalProps.context = internalProps.canvas.getContext("2d")) : "node" !== env_1.Env.mode && (internalProps.element = (0,
69
- tableHelper_1.createRootElement)(this.padding), internalProps.focusControl = new FouseInput_1.FocusInput(this, internalProps.element),
70
68
  internalProps.canvas = document.createElement("canvas"), internalProps.element.appendChild(internalProps.canvas),
71
69
  internalProps.context = internalProps.canvas.getContext("2d")), internalProps.handler = new EventHandler_1.EventHandler,
72
70
  (0, vutils_1.isNumber)(this.options.resizeTime) && (internalProps.handler.resizeTime = this.options.resizeTime),
@@ -298,32 +296,28 @@ class BaseTable extends EventTarget_1.EventTarget {
298
296
  this.internalProps.pixelRatio = pixelRatio, this.scenegraph.setPixelRatio(pixelRatio);
299
297
  }
300
298
  _updateSize() {
301
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
299
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
302
300
  const {padding: padding} = this;
303
301
  let widthP = 0, heightP = 0;
304
- if (this.tableX = 0, this.tableY = 0, this.options.canvas && this.options.viewBox) widthP = this.options.viewBox.x2 - this.options.viewBox.x1,
305
- heightP = this.options.viewBox.y2 - this.options.viewBox.y1, (null === (_a = null == this ? void 0 : this.scenegraph) || void 0 === _a ? void 0 : _a.stage) && (this.options.viewBox ? this.scenegraph.stage.setViewBox(this.options.viewBox, !1) : this.scenegraph.stage.resize(widthP, heightP)); else if ("browser" === env_1.Env.mode) {
306
- const element = this.getElement(), width1 = null !== (_c = null === (_b = element.parentElement) || void 0 === _b ? void 0 : _b.offsetWidth) && void 0 !== _c ? _c : 0, height1 = null !== (_e = null === (_d = element.parentElement) || void 0 === _d ? void 0 : _d.offsetHeight) && void 0 !== _e ? _e : 0;
302
+ if ("browser" === env_1.Env.mode) {
303
+ const element = this.getElement(), width1 = null !== (_b = null === (_a = element.parentElement) || void 0 === _a ? void 0 : _a.offsetWidth) && void 0 !== _b ? _b : 0, height1 = null !== (_d = null === (_c = element.parentElement) || void 0 === _c ? void 0 : _c.offsetHeight) && void 0 !== _d ? _d : 0;
307
304
  element.style.width = width1 && width1 - padding.left - padding.right + "px" || "0px",
308
305
  element.style.height = height1 && height1 - padding.top - padding.bottom + "px" || "0px";
309
306
  const {canvas: canvas} = this.internalProps;
310
- widthP = null !== (_g = null === (_f = canvas.parentElement) || void 0 === _f ? void 0 : _f.offsetWidth) && void 0 !== _g ? _g : 0,
311
- heightP = null !== (_j = null === (_h = canvas.parentElement) || void 0 === _h ? void 0 : _h.offsetHeight) && void 0 !== _j ? _j : 0,
312
- (null === (_k = null == this ? void 0 : this.scenegraph) || void 0 === _k ? void 0 : _k.stage) ? this.scenegraph.stage.resize(widthP, heightP) : (canvas.style.width = "",
307
+ widthP = null !== (_f = null === (_e = canvas.parentElement) || void 0 === _e ? void 0 : _e.offsetWidth) && void 0 !== _f ? _f : 0,
308
+ heightP = null !== (_h = null === (_g = canvas.parentElement) || void 0 === _g ? void 0 : _g.offsetHeight) && void 0 !== _h ? _h : 0,
309
+ (null === (_j = null == this ? void 0 : this.scenegraph) || void 0 === _j ? void 0 : _j.stage) ? this.scenegraph.stage.resize(widthP, heightP) : (canvas.style.width = "",
313
310
  canvas.style.height = "", canvas.width = widthP, canvas.height = heightP, canvas.style.width = `${widthP}px`,
314
311
  canvas.style.height = `${heightP}px`);
315
312
  } else "node" === env_1.Env.mode && (widthP = this.canvasWidth - 1, heightP = this.canvasHeight - 1);
316
313
  const width = Math.floor(widthP - style.getScrollBarSize(this.getTheme().scrollStyle)), height = Math.floor(heightP - style.getScrollBarSize(this.getTheme().scrollStyle));
317
- if (null === (_l = this.internalProps.theme) || void 0 === _l ? void 0 : _l.frameStyle) {
318
- const lineWidths = toBoxArray(null !== (_o = null === (_m = this.internalProps.theme.frameStyle) || void 0 === _m ? void 0 : _m.borderLineWidth) && void 0 !== _o ? _o : [ null ]), shadowWidths = toBoxArray(null !== (_q = null === (_p = this.internalProps.theme.frameStyle) || void 0 === _p ? void 0 : _p.shadowBlur) && void 0 !== _q ? _q : [ 0 ]);
319
- this.tableX += (null !== (_r = lineWidths[3]) && void 0 !== _r ? _r : 0) + (null !== (_s = shadowWidths[3]) && void 0 !== _s ? _s : 0),
320
- this.tableY += (null !== (_t = lineWidths[0]) && void 0 !== _t ? _t : 0) + (null !== (_u = shadowWidths[0]) && void 0 !== _u ? _u : 0),
321
- this.tableNoFrameWidth = width - ((null !== (_v = lineWidths[1]) && void 0 !== _v ? _v : 0) + (null !== (_w = shadowWidths[1]) && void 0 !== _w ? _w : 0)) - ((null !== (_x = lineWidths[3]) && void 0 !== _x ? _x : 0) + (null !== (_y = shadowWidths[3]) && void 0 !== _y ? _y : 0)),
322
- this.tableNoFrameHeight = height - ((null !== (_z = lineWidths[0]) && void 0 !== _z ? _z : 0) + (null !== (_0 = shadowWidths[0]) && void 0 !== _0 ? _0 : 0)) - ((null !== (_1 = lineWidths[2]) && void 0 !== _1 ? _1 : 0) + (null !== (_2 = shadowWidths[2]) && void 0 !== _2 ? _2 : 0));
323
- } else this.tableX += 0, this.tableY += 0, this.tableNoFrameWidth = width, this.tableNoFrameHeight = height;
324
- }
325
- updateViewBox(newViewBox) {
326
- this.options.viewBox = newViewBox, this.resize();
314
+ if (null === (_k = this.internalProps.theme) || void 0 === _k ? void 0 : _k.frameStyle) {
315
+ const lineWidths = toBoxArray(null !== (_m = null === (_l = this.internalProps.theme.frameStyle) || void 0 === _l ? void 0 : _l.borderLineWidth) && void 0 !== _m ? _m : [ null ]), shadowWidths = toBoxArray(null !== (_p = null === (_o = this.internalProps.theme.frameStyle) || void 0 === _o ? void 0 : _o.shadowBlur) && void 0 !== _p ? _p : [ 0 ]);
316
+ this.tableX = (null !== (_q = lineWidths[3]) && void 0 !== _q ? _q : 0) + (null !== (_r = shadowWidths[3]) && void 0 !== _r ? _r : 0),
317
+ this.tableY = (null !== (_s = lineWidths[0]) && void 0 !== _s ? _s : 0) + (null !== (_t = shadowWidths[0]) && void 0 !== _t ? _t : 0),
318
+ this.tableNoFrameWidth = width - ((null !== (_u = lineWidths[1]) && void 0 !== _u ? _u : 0) + (null !== (_v = shadowWidths[1]) && void 0 !== _v ? _v : 0)) - ((null !== (_w = lineWidths[3]) && void 0 !== _w ? _w : 0) + (null !== (_x = shadowWidths[3]) && void 0 !== _x ? _x : 0)),
319
+ this.tableNoFrameHeight = height - ((null !== (_y = lineWidths[0]) && void 0 !== _y ? _y : 0) + (null !== (_z = shadowWidths[0]) && void 0 !== _z ? _z : 0)) - ((null !== (_0 = lineWidths[2]) && void 0 !== _0 ? _0 : 0) + (null !== (_1 = shadowWidths[2]) && void 0 !== _1 ? _1 : 0));
320
+ }
327
321
  }
328
322
  get rowHierarchyType() {
329
323
  return "grid";
@@ -462,7 +456,7 @@ class BaseTable extends EventTarget_1.EventTarget {
462
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,
463
457
  absoluteLeft += this.scrollLeft) : absoluteLeft = this.getColsWidth(0, col - 1) || 0;
464
458
  const height = this.getRowHeight(row);
465
- 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),
466
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));
467
461
  }
468
462
  getMergeCellRect(col, row) {
@@ -470,12 +464,26 @@ class BaseTable extends EventTarget_1.EventTarget {
470
464
  return new Rect_1.Rect(Math.round(absoluteLeft), Math.round(absoluteTop), Math.round(width), Math.round(height));
471
465
  }
472
466
  getCellRelativeRect(col, row) {
473
- 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);
474
473
  }
475
474
  getCellRangeRelativeRect(range) {
476
- if (range.start) return this._toRelativeRect(this.getCellsRect(range.start.col, range.start.row, range.end.col, range.end.row));
477
- const cellRange = this.getCellRange(range.col, range.row);
478
- 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);
479
487
  }
480
488
  getVisibleCellRangeRelativeRect(range) {
481
489
  let cellRange;
@@ -590,9 +598,9 @@ class BaseTable extends EventTarget_1.EventTarget {
590
598
  }), 0);
591
599
  }));
592
600
  }
593
- _toRelativeRect(absoluteRect) {
601
+ _toRelativeRect(absoluteRect, relativeX = !0, relativeY = !0) {
594
602
  const rect = absoluteRect.copy(), visibleRect = this.getVisibleRect();
595
- 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)),
596
604
  rect;
597
605
  }
598
606
  getVisibleRect() {