@visactor/vtable 0.18.2 → 0.18.3-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.
@@ -9,6 +9,7 @@ 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';
12
13
  import { type ITextSize } from '@visactor/vutils';
13
14
  import type { ColumnData, ColumnDefine, ColumnsDefine, IndicatorData } from '../ts-types/list-table/layout-map/api';
14
15
  import type { TooltipOptions } from '../ts-types/tooltip';
@@ -123,6 +124,7 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
123
124
  _adjustColWidth(col: number, orgWidth: number): number;
124
125
  setPixelRatio(pixelRatio: number): void;
125
126
  _updateSize(): void;
127
+ updateViewBox(newViewBox: IBoundsLike): void;
126
128
  get rowHierarchyType(): 'grid' | 'tree';
127
129
  getColsWidth(startCol: number, endCol: number): number;
128
130
  getRowHeight(row: number): number;
@@ -74,9 +74,9 @@ 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.2",
77
+ if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.18.3-alpha.0",
78
78
  this.id = `VTable${Date.now()}`, this.isReleased = !1, this._chartEventMap = {},
79
- this.throttleInvalidate = throttle2(this.render.bind(this), 200), !container && "node" !== options.mode) throw new Error("vtable's container is undefined");
79
+ this.throttleInvalidate = throttle2(this.render.bind(this), 200), !container && "node" !== options.mode && !options.canvas) 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;
81
81
  this.container = container, this.options = options, this.options.container = container,
82
82
  this._widthMode = widthMode, this._heightMode = heightMode, this._autoFillWidth = autoFillWidth,
@@ -92,7 +92,9 @@ export class BaseTable extends EventTarget {
92
92
  this.tableNoFrameHeight = 0, this.canvasWidth = canvasWidth, this.canvasHeight = canvasHeight;
93
93
  const internalProps = this.internalProps = {};
94
94
  void 0 !== showFrozenIcon && (this.showFrozenIcon = showFrozenIcon), "number" == typeof allowFrozenColCount && allowFrozenColCount <= 0 && (this.showFrozenIcon = !1),
95
- "node" !== Env.mode && (internalProps.element = createRootElement(this.padding),
95
+ this.options.canvas ? (internalProps.element = this.options.canvas.parentElement,
96
+ internalProps.focusControl = new FocusInput(this, internalProps.element), internalProps.canvas = this.options.canvas,
97
+ internalProps.context = internalProps.canvas.getContext("2d")) : "node" !== Env.mode && (internalProps.element = createRootElement(this.padding),
96
98
  internalProps.focusControl = new FocusInput(this, internalProps.element), internalProps.canvas = document.createElement("canvas"),
97
99
  internalProps.element.appendChild(internalProps.canvas), internalProps.context = internalProps.canvas.getContext("2d")),
98
100
  internalProps.handler = new EventHandler, isNumber(this.options.resizeTime) && (internalProps.handler.resizeTime = this.options.resizeTime),
@@ -323,28 +325,32 @@ export class BaseTable extends EventTarget {
323
325
  this.internalProps.pixelRatio = pixelRatio, this.scenegraph.setPixelRatio(pixelRatio);
324
326
  }
325
327
  _updateSize() {
326
- 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;
328
+ 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;
327
329
  const {padding: padding} = this;
328
330
  let widthP = 0, heightP = 0;
329
- if ("browser" === Env.mode) {
330
- 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;
331
+ if (this.tableX = 0, this.tableY = 0, this.options.canvas && this.options.viewBox) widthP = this.options.viewBox.x2 - this.options.viewBox.x1,
332
+ 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.mode) {
333
+ 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;
331
334
  element.style.width = width1 && width1 - padding.left - padding.right + "px" || "0px",
332
335
  element.style.height = height1 && height1 - padding.top - padding.bottom + "px" || "0px";
333
336
  const {canvas: canvas} = this.internalProps;
334
- widthP = null !== (_f = null === (_e = canvas.parentElement) || void 0 === _e ? void 0 : _e.offsetWidth) && void 0 !== _f ? _f : 0,
335
- heightP = null !== (_h = null === (_g = canvas.parentElement) || void 0 === _g ? void 0 : _g.offsetHeight) && void 0 !== _h ? _h : 0,
336
- (null === (_j = null == this ? void 0 : this.scenegraph) || void 0 === _j ? void 0 : _j.stage) ? this.scenegraph.stage.resize(widthP, heightP) : (canvas.style.width = "",
337
+ widthP = null !== (_g = null === (_f = canvas.parentElement) || void 0 === _f ? void 0 : _f.offsetWidth) && void 0 !== _g ? _g : 0,
338
+ heightP = null !== (_j = null === (_h = canvas.parentElement) || void 0 === _h ? void 0 : _h.offsetHeight) && void 0 !== _j ? _j : 0,
339
+ (null === (_k = null == this ? void 0 : this.scenegraph) || void 0 === _k ? void 0 : _k.stage) ? this.scenegraph.stage.resize(widthP, heightP) : (canvas.style.width = "",
337
340
  canvas.style.height = "", canvas.width = widthP, canvas.height = heightP, canvas.style.width = `${widthP}px`,
338
341
  canvas.style.height = `${heightP}px`);
339
342
  } else "node" === Env.mode && (widthP = this.canvasWidth - 1, heightP = this.canvasHeight - 1);
340
343
  const width = Math.floor(widthP - style.getScrollBarSize(this.getTheme().scrollStyle)), height = Math.floor(heightP - style.getScrollBarSize(this.getTheme().scrollStyle));
341
- if (null === (_k = this.internalProps.theme) || void 0 === _k ? void 0 : _k.frameStyle) {
342
- 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 ]);
343
- this.tableX = (null !== (_q = lineWidths[3]) && void 0 !== _q ? _q : 0) + (null !== (_r = shadowWidths[3]) && void 0 !== _r ? _r : 0),
344
- this.tableY = (null !== (_s = lineWidths[0]) && void 0 !== _s ? _s : 0) + (null !== (_t = shadowWidths[0]) && void 0 !== _t ? _t : 0),
345
- 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)),
346
- 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));
347
- }
344
+ if (null === (_l = this.internalProps.theme) || void 0 === _l ? void 0 : _l.frameStyle) {
345
+ 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 ]);
346
+ this.tableX += (null !== (_r = lineWidths[3]) && void 0 !== _r ? _r : 0) + (null !== (_s = shadowWidths[3]) && void 0 !== _s ? _s : 0),
347
+ this.tableY += (null !== (_t = lineWidths[0]) && void 0 !== _t ? _t : 0) + (null !== (_u = shadowWidths[0]) && void 0 !== _u ? _u : 0),
348
+ 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)),
349
+ 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));
350
+ } else this.tableX += 0, this.tableY += 0, this.tableNoFrameWidth = width, this.tableNoFrameHeight = height;
351
+ }
352
+ updateViewBox(newViewBox) {
353
+ this.options.viewBox = newViewBox, this.resize();
348
354
  }
349
355
  get rowHierarchyType() {
350
356
  return "grid";