@visactor/vtable 0.13.4-alpha.3 → 0.13.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 (173) hide show
  1. package/cjs/PivotChart.d.ts +3 -0
  2. package/cjs/PivotChart.js +44 -40
  3. package/cjs/PivotChart.js.map +1 -1
  4. package/cjs/components/menu/dom/logic/MenuElementStyle.js +1 -1
  5. package/cjs/components/menu/dom/logic/MenuElementStyle.js.map +1 -1
  6. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js +1 -1
  7. package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
  8. package/cjs/core/BaseTable.d.ts +14 -0
  9. package/cjs/core/BaseTable.js +28 -3
  10. package/cjs/core/BaseTable.js.map +1 -1
  11. package/cjs/core/style.js +1 -1
  12. package/cjs/core/style.js.map +1 -1
  13. package/cjs/event/event.d.ts +1 -1
  14. package/cjs/event/event.js +5 -4
  15. package/cjs/event/event.js.map +1 -1
  16. package/cjs/event/listener/table-group.js +9 -6
  17. package/cjs/event/listener/table-group.js.map +1 -1
  18. package/cjs/event/listener/touch.js +1 -1
  19. package/cjs/event/listener/touch.js.map +1 -1
  20. package/cjs/event/scroll.js +1 -1
  21. package/cjs/event/scroll.js.map +1 -1
  22. package/cjs/index.d.ts +1 -1
  23. package/cjs/index.js +1 -1
  24. package/cjs/index.js.map +1 -1
  25. package/cjs/render/layout/arc.d.ts +21 -10
  26. package/cjs/render/layout/arc.js +9 -7
  27. package/cjs/render/layout/arc.js.map +1 -1
  28. package/cjs/render/layout/circle.d.ts +17 -10
  29. package/cjs/render/layout/circle.js +6 -5
  30. package/cjs/render/layout/circle.js.map +1 -1
  31. package/cjs/render/layout/container.d.ts +48 -10
  32. package/cjs/render/layout/container.js +100 -15
  33. package/cjs/render/layout/container.js.map +1 -1
  34. package/cjs/render/layout/group-element.d.ts +24 -4
  35. package/cjs/render/layout/group-element.js +40 -4
  36. package/cjs/render/layout/group-element.js.map +1 -1
  37. package/cjs/render/layout/icon.d.ts +10 -10
  38. package/cjs/render/layout/icon.js +9 -11
  39. package/cjs/render/layout/icon.js.map +1 -1
  40. package/cjs/render/layout/image.d.ts +17 -10
  41. package/cjs/render/layout/image.js +7 -6
  42. package/cjs/render/layout/image.js.map +1 -1
  43. package/cjs/render/layout/index.d.ts +0 -2
  44. package/cjs/render/layout/index.js +1 -2
  45. package/cjs/render/layout/index.js.map +1 -1
  46. package/cjs/render/layout/percent-calc.d.ts +4 -1
  47. package/cjs/render/layout/percent-calc.js.map +1 -1
  48. package/cjs/render/layout/rect.d.ts +20 -10
  49. package/cjs/render/layout/rect.js +6 -5
  50. package/cjs/render/layout/rect.js.map +1 -1
  51. package/cjs/render/layout/text.d.ts +46 -9
  52. package/cjs/render/layout/text.js +18 -7
  53. package/cjs/render/layout/text.js.map +1 -1
  54. package/cjs/scenegraph/component/custom.d.ts +2 -2
  55. package/cjs/scenegraph/component/custom.js +6 -14
  56. package/cjs/scenegraph/component/custom.js.map +1 -1
  57. package/cjs/scenegraph/group-creater/init-scenegraph.js +3 -3
  58. package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  59. package/cjs/scenegraph/layout/compute-col-width.js +8 -5
  60. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  61. package/cjs/scenegraph/scenegraph.d.ts +5 -4
  62. package/cjs/scenegraph/scenegraph.js +4 -2
  63. package/cjs/scenegraph/scenegraph.js.map +1 -1
  64. package/cjs/scenegraph/select/create-select-border.d.ts +2 -2
  65. package/cjs/scenegraph/select/create-select-border.js +6 -15
  66. package/cjs/scenegraph/select/create-select-border.js.map +1 -1
  67. package/cjs/scenegraph/select/delete-select-border.js.map +1 -1
  68. package/cjs/scenegraph/select/update-select-border.js +84 -31
  69. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  70. package/cjs/tools/LimitPromiseQueue.js +1 -1
  71. package/cjs/tools/NumberMap.js +1 -1
  72. package/cjs/tools/Rect.js +1 -1
  73. package/cjs/ts-types/base-table.d.ts +16 -0
  74. package/cjs/ts-types/base-table.js +1 -1
  75. package/cjs/ts-types/base-table.js.map +1 -1
  76. package/cjs/ts-types/common.js +1 -1
  77. package/cjs/ts-types/customElement.js +1 -1
  78. package/cjs/ts-types/table-engine.d.ts +2 -1
  79. package/cjs/ts-types/table-engine.js.map +1 -1
  80. package/dist/vtable.js +1000 -446
  81. package/dist/vtable.min.js +2 -2
  82. package/es/PivotChart.d.ts +3 -0
  83. package/es/PivotChart.js +44 -40
  84. package/es/PivotChart.js.map +1 -1
  85. package/es/components/menu/dom/logic/MenuElementStyle.js +1 -1
  86. package/es/components/menu/dom/logic/MenuElementStyle.js.map +1 -1
  87. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js +1 -1
  88. package/es/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -1
  89. package/es/core/BaseTable.d.ts +14 -0
  90. package/es/core/BaseTable.js +36 -12
  91. package/es/core/BaseTable.js.map +1 -1
  92. package/es/core/style.js +1 -1
  93. package/es/core/style.js.map +1 -1
  94. package/es/event/event.d.ts +1 -1
  95. package/es/event/event.js +5 -4
  96. package/es/event/event.js.map +1 -1
  97. package/es/event/listener/table-group.js +9 -6
  98. package/es/event/listener/table-group.js.map +1 -1
  99. package/es/event/listener/touch.js +1 -1
  100. package/es/event/listener/touch.js.map +1 -1
  101. package/es/event/scroll.js +1 -1
  102. package/es/event/scroll.js.map +1 -1
  103. package/es/index.d.ts +1 -1
  104. package/es/index.js +1 -1
  105. package/es/index.js.map +1 -1
  106. package/es/render/layout/arc.d.ts +21 -10
  107. package/es/render/layout/arc.js +7 -7
  108. package/es/render/layout/arc.js.map +1 -1
  109. package/es/render/layout/circle.d.ts +17 -10
  110. package/es/render/layout/circle.js +6 -7
  111. package/es/render/layout/circle.js.map +1 -1
  112. package/es/render/layout/container.d.ts +48 -10
  113. package/es/render/layout/container.js +107 -16
  114. package/es/render/layout/container.js.map +1 -1
  115. package/es/render/layout/group-element.d.ts +24 -4
  116. package/es/render/layout/group-element.js +42 -4
  117. package/es/render/layout/group-element.js.map +1 -1
  118. package/es/render/layout/icon.d.ts +10 -10
  119. package/es/render/layout/icon.js +10 -12
  120. package/es/render/layout/icon.js.map +1 -1
  121. package/es/render/layout/image.d.ts +17 -10
  122. package/es/render/layout/image.js +7 -8
  123. package/es/render/layout/image.js.map +1 -1
  124. package/es/render/layout/index.d.ts +0 -2
  125. package/es/render/layout/index.js +0 -4
  126. package/es/render/layout/index.js.map +1 -1
  127. package/es/render/layout/percent-calc.d.ts +4 -1
  128. package/es/render/layout/percent-calc.js.map +1 -1
  129. package/es/render/layout/rect.d.ts +20 -10
  130. package/es/render/layout/rect.js +6 -7
  131. package/es/render/layout/rect.js.map +1 -1
  132. package/es/render/layout/text.d.ts +46 -9
  133. package/es/render/layout/text.js +18 -9
  134. package/es/render/layout/text.js.map +1 -1
  135. package/es/scenegraph/component/custom.d.ts +2 -2
  136. package/es/scenegraph/component/custom.js +7 -15
  137. package/es/scenegraph/component/custom.js.map +1 -1
  138. package/es/scenegraph/group-creater/init-scenegraph.js +3 -3
  139. package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  140. package/es/scenegraph/layout/compute-col-width.js +8 -5
  141. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  142. package/es/scenegraph/scenegraph.d.ts +5 -4
  143. package/es/scenegraph/scenegraph.js +3 -2
  144. package/es/scenegraph/scenegraph.js.map +1 -1
  145. package/es/scenegraph/select/create-select-border.d.ts +2 -2
  146. package/es/scenegraph/select/create-select-border.js +6 -15
  147. package/es/scenegraph/select/create-select-border.js.map +1 -1
  148. package/es/scenegraph/select/delete-select-border.js.map +1 -1
  149. package/es/scenegraph/select/update-select-border.js +84 -31
  150. package/es/scenegraph/select/update-select-border.js.map +1 -1
  151. package/es/tools/LimitPromiseQueue.js +1 -1
  152. package/es/tools/NumberMap.js +1 -1
  153. package/es/tools/Rect.js +1 -1
  154. package/es/ts-types/base-table.d.ts +16 -0
  155. package/es/ts-types/base-table.js +1 -1
  156. package/es/ts-types/base-table.js.map +1 -1
  157. package/es/ts-types/common.js +1 -1
  158. package/es/ts-types/customElement.js +1 -1
  159. package/es/ts-types/table-engine.d.ts +2 -1
  160. package/es/ts-types/table-engine.js.map +1 -1
  161. package/package.json +4 -4
  162. package/cjs/render/layout/group.d.ts +0 -12
  163. package/cjs/render/layout/group.js +0 -18
  164. package/cjs/render/layout/group.js.map +0 -1
  165. package/cjs/render/layout/tag.d.ts +0 -14
  166. package/cjs/render/layout/tag.js +0 -21
  167. package/cjs/render/layout/tag.js.map +0 -1
  168. package/es/render/layout/group.d.ts +0 -12
  169. package/es/render/layout/group.js +0 -12
  170. package/es/render/layout/group.js.map +0 -1
  171. package/es/render/layout/tag.d.ts +0 -14
  172. package/es/render/layout/tag.js +0 -15
  173. package/es/render/layout/tag.js.map +0 -1
@@ -72,10 +72,10 @@ export class BaseTable extends EventTarget {
72
72
  }
73
73
  constructor(container, options = {}) {
74
74
  var _a, _b, _c, _d, _e, _f, _g;
75
- if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.13.4-alpha.3",
75
+ if (super(), this.showFrozenIcon = !0, this.showSort = !0, this.version = "0.13.4",
76
76
  this.id = `VTable${Date.now()}`, this.isReleased = !1, this.throttleInvalidate = throttle2(this.render.bind(this), 200),
77
77
  !container && "node" !== options.mode) throw new Error("vtable's container is undefined");
78
- 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, 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} = options;
78
+ 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, 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} = options;
79
79
  this.container = container, this.options = options, this.options.container = container,
80
80
  this._widthMode = widthMode, this._heightMode = heightMode, this._autoFillWidth = autoFillWidth,
81
81
  this._autoFillHeight = autoFillHeight, this.customRender = customRender, this.padding = {
@@ -99,10 +99,11 @@ export class BaseTable extends EventTarget {
99
99
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
100
100
  internalProps.keyboardOptions = keyboardOptions, internalProps.columnResizeMode = columnResizeMode,
101
101
  internalProps.dragHeaderMode = dragHeaderMode, internalProps.renderChartAsync = renderChartAsync,
102
- setBatchRenderChartCount(renderChartAsyncBatchCount), internalProps._rowHeightsMap = new NumberMap,
103
- internalProps._rowRangeHeightsMap = new Map, internalProps._colRangeWidthsMap = new Map,
104
- internalProps._widthResizedColMap = new Set, this.colWidthsMap = new NumberMap,
105
- this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {}, internalProps.calcWidthContext = {
102
+ setBatchRenderChartCount(renderChartAsyncBatchCount), internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
103
+ internalProps._rowHeightsMap = new NumberMap, internalProps._rowRangeHeightsMap = new Map,
104
+ internalProps._colRangeWidthsMap = new Map, internalProps._widthResizedColMap = new Set,
105
+ this.colWidthsMap = new NumberMap, this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {},
106
+ internalProps.calcWidthContext = {
106
107
  _: internalProps,
107
108
  get full() {
108
109
  var _a;
@@ -610,6 +611,29 @@ export class BaseTable extends EventTarget {
610
611
  }
611
612
  return count;
612
613
  }
614
+ getBodyVisibleCellRange() {
615
+ const {scrollTop: scrollTop, scrollLeft: scrollLeft} = this, frozenRowsHeight = this.getFrozenRowsHeight(), frozenColsWidth = this.getFrozenColsWidth(), bottomFrozenRowsHeight = this.getBottomFrozenRowsHeight(), rightFrozenColsWidth = this.getRightFrozenColsWidth(), {row: rowStart} = this.getRowAt(scrollTop + frozenRowsHeight + 1), {col: colStart} = this.getColAt(scrollLeft + frozenColsWidth + 1), rowEnd = this.getAllRowsHeight() > this.tableNoFrameHeight ? this.getRowAt(scrollTop + this.tableNoFrameHeight - 1 - bottomFrozenRowsHeight).row : this.rowCount - 1, colEnd = this.getAllColsWidth() > this.tableNoFrameWidth ? this.getColAt(scrollLeft + this.tableNoFrameWidth - 1 - rightFrozenColsWidth).col : this.colCount - 1;
616
+ return colEnd < 0 || rowEnd < 0 ? null : {
617
+ rowStart: rowStart,
618
+ colStart: colStart,
619
+ rowEnd: rowEnd,
620
+ colEnd: colEnd
621
+ };
622
+ }
623
+ getBodyVisibleRowRange() {
624
+ const {scrollTop: scrollTop} = this, frozenRowsHeight = this.getFrozenRowsHeight(), bottomFrozenRowsHeight = this.getBottomFrozenRowsHeight(), {row: rowStart} = this.getRowAt(scrollTop + frozenRowsHeight + 1), rowEnd = this.getAllRowsHeight() > this.tableNoFrameHeight ? this.getRowAt(scrollTop + this.tableNoFrameHeight - 1 - bottomFrozenRowsHeight).row : this.rowCount - 1;
625
+ return rowEnd < 0 ? null : {
626
+ rowStart: rowStart,
627
+ rowEnd: rowEnd
628
+ };
629
+ }
630
+ getBodyVisibleColRange() {
631
+ const {scrollLeft: scrollLeft} = this, frozenColsWidth = this.getFrozenColsWidth(), rightFrozenColsWidth = this.getRightFrozenColsWidth(), {col: colStart} = this.getColAt(scrollLeft + frozenColsWidth + 1), colEnd = this.getAllColsWidth() > this.tableNoFrameWidth ? this.getColAt(scrollLeft + this.tableNoFrameWidth - 1 - rightFrozenColsWidth).col : this.colCount - 1;
632
+ return colEnd < 0 ? null : {
633
+ colStart: colStart,
634
+ colEnd: colEnd
635
+ };
636
+ }
613
637
  get visibleColCount() {
614
638
  const {frozenColCount: frozenColCount} = this, visibleRect = this.getVisibleRect(), visibleLeft = frozenColCount > 0 ? visibleRect.left + this.getColsWidth(0, frozenColCount - 1) : visibleRect.left, initCol = this.getTargetColAt(visibleLeft);
615
639
  if (!initCol) return 0;
@@ -678,7 +702,7 @@ export class BaseTable extends EventTarget {
678
702
  updateOption(options) {
679
703
  var _a, _b, _c, _d, _e;
680
704
  this.options = options;
681
- const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, keyboardOptions: keyboardOptions, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, autoFillHeight: autoFillHeight, customRender: customRender, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount} = options;
705
+ const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, keyboardOptions: keyboardOptions, columnResizeMode: columnResizeMode, dragHeaderMode: dragHeaderMode, showFrozenIcon: showFrozenIcon, allowFrozenColCount: allowFrozenColCount, padding: padding, hover: hover, menu: menu, select: click, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, autoFillHeight: autoFillHeight, customRender: customRender, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, overscrollBehavior: overscrollBehavior} = options;
682
706
  pixelRatio && pixelRatio !== this.internalProps.pixelRatio && (this.internalProps.pixelRatio = pixelRatio),
683
707
  padding && ("number" == typeof padding ? (this.padding.top = padding, this.padding.left = padding,
684
708
  this.padding.bottom = padding, this.padding.right = padding) : (padding.top && (this.padding.top = padding.top),
@@ -695,11 +719,11 @@ export class BaseTable extends EventTarget {
695
719
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
696
720
  internalProps.keyboardOptions = keyboardOptions, internalProps.columnResizeMode = columnResizeMode,
697
721
  internalProps.dragHeaderMode = dragHeaderMode, internalProps.renderChartAsync = renderChartAsync,
698
- setBatchRenderChartCount(renderChartAsyncBatchCount), internalProps.cellTextOverflows = {},
699
- internalProps._rowHeightsMap = new NumberMap, internalProps._rowRangeHeightsMap = new Map,
700
- internalProps._colRangeWidthsMap = new Map, internalProps._widthResizedColMap = new Set,
701
- this.colWidthsMap = new NumberMap, this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {},
702
- internalProps.theme = themes.of(null !== (_a = options.theme) && void 0 !== _a ? _a : themes.DEFAULT),
722
+ setBatchRenderChartCount(renderChartAsyncBatchCount), internalProps.overscrollBehavior = null != overscrollBehavior ? overscrollBehavior : "auto",
723
+ internalProps.cellTextOverflows = {}, internalProps._rowHeightsMap = new NumberMap,
724
+ internalProps._rowRangeHeightsMap = new Map, internalProps._colRangeWidthsMap = new Map,
725
+ internalProps._widthResizedColMap = new Set, this.colWidthsMap = new NumberMap,
726
+ this.colContentWidthsMap = new NumberMap, this.colWidthsLimit = {}, internalProps.theme = themes.of(null !== (_a = options.theme) && void 0 !== _a ? _a : themes.DEFAULT),
703
727
  internalProps.autoWrapText = options.autoWrapText, internalProps.allowFrozenColCount = null !== (_b = options.allowFrozenColCount) && void 0 !== _b ? _b : internalProps.colCount,
704
728
  internalProps.limitMaxAutoWidth = null !== (_c = options.limitMaxAutoWidth) && void 0 !== _c ? _c : 450,
705
729
  this._vDataSet = new DataSet, null === (_d = internalProps.legends) || void 0 === _d || _d.release(),