@visactor/vtable 1.7.8-alpha.4 → 1.7.8

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 (115) hide show
  1. package/cjs/ListTable.js +12 -8
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotTable.js +3 -3
  4. package/cjs/PivotTable.js.map +1 -1
  5. package/cjs/core/BaseTable.d.ts +7 -0
  6. package/cjs/core/BaseTable.js +26 -9
  7. package/cjs/core/BaseTable.js.map +1 -1
  8. package/cjs/core/record-helper.js +83 -10
  9. package/cjs/core/record-helper.js.map +1 -1
  10. package/cjs/core/tableHelper.d.ts +2 -0
  11. package/cjs/core/tableHelper.js +26 -3
  12. package/cjs/core/tableHelper.js.map +1 -1
  13. package/cjs/data/CachedDataSource.d.ts +3 -3
  14. package/cjs/data/CachedDataSource.js +4 -4
  15. package/cjs/data/CachedDataSource.js.map +1 -1
  16. package/cjs/data/DataSource.d.ts +3 -3
  17. package/cjs/data/DataSource.js +28 -21
  18. package/cjs/data/DataSource.js.map +1 -1
  19. package/cjs/dataset/dataset.d.ts +20 -2
  20. package/cjs/dataset/dataset.js +259 -159
  21. package/cjs/dataset/dataset.js.map +1 -1
  22. package/cjs/dataset/statistics-helper.d.ts +22 -0
  23. package/cjs/dataset/statistics-helper.js +114 -8
  24. package/cjs/dataset/statistics-helper.js.map +1 -1
  25. package/cjs/edit/edit-manager.js +1 -0
  26. package/cjs/edit/edit-manager.js.map +1 -1
  27. package/cjs/event/listener/table-group.js +1 -0
  28. package/cjs/event/listener/table-group.js.map +1 -1
  29. package/cjs/header-helper/header-helper.js +3 -3
  30. package/cjs/header-helper/header-helper.js.map +1 -1
  31. package/cjs/icons.js +2 -2
  32. package/cjs/icons.js.map +1 -1
  33. package/cjs/index.d.ts +1 -1
  34. package/cjs/index.js +1 -1
  35. package/cjs/index.js.map +1 -1
  36. package/cjs/layout/layout-helper.js +2 -2
  37. package/cjs/layout/layout-helper.js.map +1 -1
  38. package/cjs/layout/simple-header-layout.d.ts +3 -4
  39. package/cjs/layout/simple-header-layout.js +15 -25
  40. package/cjs/layout/simple-header-layout.js.map +1 -1
  41. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +25 -10
  42. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  43. package/cjs/scenegraph/layout/frozen-react.d.ts +5 -0
  44. package/cjs/scenegraph/layout/frozen-react.js +86 -0
  45. package/cjs/scenegraph/layout/frozen-react.js.map +1 -0
  46. package/cjs/scenegraph/layout/frozen.js +6 -5
  47. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  48. package/cjs/scenegraph/scenegraph.js +2 -15
  49. package/cjs/scenegraph/scenegraph.js.map +1 -1
  50. package/cjs/scenegraph/utils/text-measure.js +1 -1
  51. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  52. package/cjs/ts-types/base-table.d.ts +14 -0
  53. package/cjs/ts-types/base-table.js.map +1 -1
  54. package/cjs/ts-types/table-engine.d.ts +1 -0
  55. package/cjs/ts-types/table-engine.js.map +1 -1
  56. package/cjs/vrender.js.map +1 -1
  57. package/dist/vtable.js +1231 -443
  58. package/dist/vtable.min.js +2 -2
  59. package/es/ListTable.js +10 -10
  60. package/es/ListTable.js.map +1 -1
  61. package/es/PivotTable.js +3 -3
  62. package/es/PivotTable.js.map +1 -1
  63. package/es/core/BaseTable.d.ts +7 -0
  64. package/es/core/BaseTable.js +27 -9
  65. package/es/core/BaseTable.js.map +1 -1
  66. package/es/core/record-helper.js +83 -10
  67. package/es/core/record-helper.js.map +1 -1
  68. package/es/core/tableHelper.d.ts +2 -0
  69. package/es/core/tableHelper.js +23 -1
  70. package/es/core/tableHelper.js.map +1 -1
  71. package/es/data/CachedDataSource.d.ts +3 -3
  72. package/es/data/CachedDataSource.js +4 -4
  73. package/es/data/CachedDataSource.js.map +1 -1
  74. package/es/data/DataSource.d.ts +3 -3
  75. package/es/data/DataSource.js +28 -21
  76. package/es/data/DataSource.js.map +1 -1
  77. package/es/dataset/dataset.d.ts +20 -2
  78. package/es/dataset/dataset.js +258 -159
  79. package/es/dataset/dataset.js.map +1 -1
  80. package/es/dataset/statistics-helper.d.ts +22 -0
  81. package/es/dataset/statistics-helper.js +114 -8
  82. package/es/dataset/statistics-helper.js.map +1 -1
  83. package/es/edit/edit-manager.js +1 -0
  84. package/es/edit/edit-manager.js.map +1 -1
  85. package/es/event/listener/table-group.js +1 -0
  86. package/es/event/listener/table-group.js.map +1 -1
  87. package/es/header-helper/header-helper.js +3 -3
  88. package/es/header-helper/header-helper.js.map +1 -1
  89. package/es/icons.js +2 -2
  90. package/es/icons.js.map +1 -1
  91. package/es/index.d.ts +1 -1
  92. package/es/index.js +1 -1
  93. package/es/index.js.map +1 -1
  94. package/es/layout/layout-helper.js +2 -2
  95. package/es/layout/layout-helper.js.map +1 -1
  96. package/es/layout/simple-header-layout.d.ts +3 -4
  97. package/es/layout/simple-header-layout.js +15 -25
  98. package/es/layout/simple-header-layout.js.map +1 -1
  99. package/es/scenegraph/graphic/contributions/group-contribution-render.js +25 -10
  100. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  101. package/es/scenegraph/layout/frozen-react.d.ts +5 -0
  102. package/es/scenegraph/layout/frozen-react.js +77 -0
  103. package/es/scenegraph/layout/frozen-react.js.map +1 -0
  104. package/es/scenegraph/layout/frozen.js +6 -4
  105. package/es/scenegraph/layout/frozen.js.map +1 -1
  106. package/es/scenegraph/scenegraph.js +3 -14
  107. package/es/scenegraph/scenegraph.js.map +1 -1
  108. package/es/scenegraph/utils/text-measure.js +2 -2
  109. package/es/scenegraph/utils/text-measure.js.map +1 -1
  110. package/es/ts-types/base-table.d.ts +14 -0
  111. package/es/ts-types/base-table.js.map +1 -1
  112. package/es/ts-types/table-engine.d.ts +1 -0
  113. package/es/ts-types/table-engine.js.map +1 -1
  114. package/es/vrender.js.map +1 -1
  115. package/package.json +5 -5
@@ -408,6 +408,13 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
408
408
  checkReactCustomLayout(removeAllContainer: () => void): void;
409
409
  get bodyDomContainer(): HTMLElement;
410
410
  get headerDomContainer(): HTMLElement;
411
+ get frozenBodyDomContainer(): HTMLElement;
412
+ get frozenHeaderDomContainer(): HTMLElement;
413
+ get rightFrozenBodyDomContainer(): HTMLElement;
414
+ get rightFrozenHeaderDomContainer(): HTMLElement;
415
+ get frozenBottomDomContainer(): HTMLElement;
416
+ get bottomDomContainer(): HTMLElement;
417
+ get rightFrozenBottomDomContainer(): HTMLElement;
411
418
  showMoverLine(col: number, row: number): void;
412
419
  hideMoverLine(col: number, row: number): void;
413
420
  disableScroll(): void;
@@ -33,7 +33,7 @@ Object.defineProperty(exports, "__esModule", {
33
33
  value: !0
34
34
  }), exports.BaseTable = void 0;
35
35
 
36
- const columnStyleContents = __importStar(require("../body-helper/style")), style_1 = require("./style"), style = __importStar(require("../tools/style")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), TABLE_EVENT_TYPE_1 = require("./TABLE_EVENT_TYPE"), EventHandler_1 = require("../event/EventHandler"), EventTarget_1 = require("../event/EventTarget"), NumberMap_1 = require("../tools/NumberMap"), Rect_1 = require("../tools/Rect"), util_1 = require("../tools/util"), themes_1 = __importDefault(require("../themes")), env_1 = require("../tools/env"), scenegraph_1 = require("../scenegraph/scenegraph"), state_1 = require("../state/state"), event_1 = require("../event/event"), body_helper_1 = require("../body-helper/body-helper"), header_helper_1 = require("../header-helper/header-helper"), vutils_1 = require("@visactor/vutils"), text_measure_1 = require("../scenegraph/utils/text-measure"), get_prop_1 = require("../scenegraph/utils/get-prop"), icons_1 = require("../plugins/icons"), tableHelper_1 = require("./tableHelper"), FouseInput_1 = require("./FouseInput"), pixel_ratio_1 = require("../tools/pixel-ratio"), chart_render_helper_1 = require("../scenegraph/graphic/contributions/chart-render-helper"), row_height_map_1 = require("../layout/row-height-map"), row_series_number_helper_1 = require("./row-series-number-helper"), custom_cell_style_1 = require("../plugins/custom-cell-style"), update_select_border_1 = require("../scenegraph/select/update-select-border"), react_custom_layout_1 = require("../components/react/react-custom-layout"), layout_helper_1 = require("../layout/layout-helper"), factory_1 = require("./factory"), get_cell_position_1 = require("./utils/get-cell-position"), style_helper_1 = require("./style-helper"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
36
+ const columnStyleContents = __importStar(require("../body-helper/style")), style_1 = require("./style"), style = __importStar(require("../tools/style")), ts_types_1 = require("../ts-types"), helper_1 = require("../tools/helper"), TABLE_EVENT_TYPE_1 = require("./TABLE_EVENT_TYPE"), EventHandler_1 = require("../event/EventHandler"), EventTarget_1 = require("../event/EventTarget"), NumberMap_1 = require("../tools/NumberMap"), Rect_1 = require("../tools/Rect"), util_1 = require("../tools/util"), themes_1 = __importDefault(require("../themes")), env_1 = require("../tools/env"), scenegraph_1 = require("../scenegraph/scenegraph"), state_1 = require("../state/state"), event_1 = require("../event/event"), body_helper_1 = require("../body-helper/body-helper"), header_helper_1 = require("../header-helper/header-helper"), vutils_1 = require("@visactor/vutils"), text_measure_1 = require("../scenegraph/utils/text-measure"), get_prop_1 = require("../scenegraph/utils/get-prop"), icons_1 = require("../plugins/icons"), tableHelper_1 = require("./tableHelper"), FouseInput_1 = require("./FouseInput"), pixel_ratio_1 = require("../tools/pixel-ratio"), chart_render_helper_1 = require("../scenegraph/graphic/contributions/chart-render-helper"), row_height_map_1 = require("../layout/row-height-map"), row_series_number_helper_1 = require("./row-series-number-helper"), custom_cell_style_1 = require("../plugins/custom-cell-style"), update_select_border_1 = require("../scenegraph/select/update-select-border"), react_custom_layout_1 = require("../components/react/react-custom-layout"), layout_helper_1 = require("../layout/layout-helper"), factory_1 = require("./factory"), get_cell_position_1 = require("./utils/get-cell-position"), style_helper_1 = require("./style-helper"), frozen_react_1 = require("../scenegraph/layout/frozen-react"), {toBoxArray: toBoxArray} = helper_1.style, {isTouchEvent: isTouchEvent} = helper_1.event, rangeReg = /^\$(\d+)\$(\d+)$/;
37
37
 
38
38
  (0, style_1.importStyle)();
39
39
 
@@ -43,7 +43,7 @@ class BaseTable extends EventTarget_1.EventTarget {
43
43
  }
44
44
  constructor(container, options = {}) {
45
45
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
46
- if (super(), this.showFrozenIcon = !0, this.version = "1.7.8-alpha.4", this.id = `VTable${Date.now()}`,
46
+ if (super(), this.showFrozenIcon = !0, this.version = "1.7.8", this.id = `VTable${Date.now()}`,
47
47
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = (0, util_1.throttle2)(this.render.bind(this), 200),
48
48
  !container && "node" !== options.mode && !options.canvas) throw new Error("vtable's container is undefined");
49
49
  const {frozenColCount: frozenColCount = 0, frozenRowCount: frozenRowCount, 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, rowResizeMode: rowResizeMode = "none", 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, limitMinHeight: limitMinHeight, clearDOM: clearDOM = !0} = options;
@@ -69,10 +69,8 @@ class BaseTable extends EventTarget_1.EventTarget {
69
69
  internalProps.canvas = this.options.canvas, internalProps.context = internalProps.canvas.getContext("2d")) : "node" !== env_1.Env.mode && (internalProps.element = (0,
70
70
  tableHelper_1.createRootElement)(this.padding), internalProps.focusControl = new FouseInput_1.FocusInput(this, internalProps.element),
71
71
  internalProps.canvas = document.createElement("canvas"), internalProps.element.appendChild(internalProps.canvas),
72
- internalProps.context = internalProps.canvas.getContext("2d"), (null === (_b = options.customConfig) || void 0 === _b ? void 0 : _b.createReactContainer) && (internalProps.bodyDomContainer = document.createElement("div"),
73
- internalProps.bodyDomContainer.classList.add("table-component-container"), internalProps.element.appendChild(internalProps.bodyDomContainer),
74
- internalProps.headerDomContainer = document.createElement("div"), internalProps.headerDomContainer.classList.add("table-component-container"),
75
- internalProps.element.appendChild(internalProps.headerDomContainer))), internalProps.handler = new EventHandler_1.EventHandler,
72
+ internalProps.context = internalProps.canvas.getContext("2d"), (null === (_b = options.customConfig) || void 0 === _b ? void 0 : _b.createReactContainer) && (0,
73
+ frozen_react_1.createReactContainer)(this)), internalProps.handler = new EventHandler_1.EventHandler,
76
74
  (0, vutils_1.isNumber)(this.options.resizeTime) && (internalProps.handler.resizeTime = this.options.resizeTime),
77
75
  internalProps.pixelRatio = pixelRatio, internalProps.frozenColCount = frozenColCount,
78
76
  internalProps.frozenRowCount = frozenRowCount, internalProps.defaultRowHeight = defaultRowHeight,
@@ -374,9 +372,7 @@ class BaseTable extends EventTarget_1.EventTarget {
374
372
  heightP = null !== (_e = null === (_d = canvas.parentElement) || void 0 === _d ? void 0 : _d.offsetHeight) && void 0 !== _e ? _e : 0,
375
373
  (null === (_f = null == this ? void 0 : this.scenegraph) || void 0 === _f ? void 0 : _f.stage) ? this.scenegraph.stage.resize(widthP, heightP) : (canvas.style.width = "",
376
374
  canvas.style.height = "", canvas.width = widthP, canvas.height = heightP, canvas.style.width = `${widthP}px`,
377
- canvas.style.height = `${heightP}px`), this.internalProps.bodyDomContainer && (this.internalProps.bodyDomContainer.style.width = `${widthP}px`,
378
- this.internalProps.bodyDomContainer.style.height = `${heightP}px`), this.internalProps.headerDomContainer && (this.internalProps.headerDomContainer.style.width = `${widthP}px`,
379
- this.internalProps.headerDomContainer.style.height = `${heightP}px`);
375
+ canvas.style.height = `${heightP}px`);
380
376
  } else "node" === env_1.Env.mode && (widthP = this.canvasWidth - 1, heightP = this.canvasHeight - 1);
381
377
  const width = Math.floor(widthP - style.getVerticalScrollBarSize(this.getTheme().scrollStyle)), height = Math.floor(heightP - style.getHorizontalScrollBarSize(this.getTheme().scrollStyle));
382
378
  if (null === (_g = this.internalProps.theme) || void 0 === _g ? void 0 : _g.frameStyle) {
@@ -1706,6 +1702,27 @@ class BaseTable extends EventTarget_1.EventTarget {
1706
1702
  get headerDomContainer() {
1707
1703
  return this.internalProps.headerDomContainer;
1708
1704
  }
1705
+ get frozenBodyDomContainer() {
1706
+ return this.internalProps.frozenBodyDomContainer;
1707
+ }
1708
+ get frozenHeaderDomContainer() {
1709
+ return this.internalProps.frozenHeaderDomContainer;
1710
+ }
1711
+ get rightFrozenBodyDomContainer() {
1712
+ return this.internalProps.rightFrozenBodyDomContainer;
1713
+ }
1714
+ get rightFrozenHeaderDomContainer() {
1715
+ return this.internalProps.rightFrozenHeaderDomContainer;
1716
+ }
1717
+ get frozenBottomDomContainer() {
1718
+ return this.internalProps.frozenBottomDomContainer;
1719
+ }
1720
+ get bottomDomContainer() {
1721
+ return this.internalProps.bottomDomContainer;
1722
+ }
1723
+ get rightFrozenBottomDomContainer() {
1724
+ return this.internalProps.rightFrozenBottomDomContainer;
1725
+ }
1709
1726
  showMoverLine(col, row) {
1710
1727
  this.scenegraph.component.showMoveCol(col, row, 0), this.scenegraph.renderSceneGraph();
1711
1728
  }