@visactor/vtable 1.14.4-alpha.4 → 1.15.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 (173) hide show
  1. package/cjs/ListTable.d.ts +2 -2
  2. package/cjs/ListTable.js +1 -1
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotTable.js +5 -5
  5. package/cjs/PivotTable.js.map +1 -1
  6. package/cjs/components/empty-tip/empty-tip.js +4 -2
  7. package/cjs/components/empty-tip/empty-tip.js.map +1 -1
  8. package/cjs/core/BaseTable.d.ts +4 -0
  9. package/cjs/core/BaseTable.js +51 -21
  10. package/cjs/core/BaseTable.js.map +1 -1
  11. package/cjs/core/record-helper.d.ts +1 -1
  12. package/cjs/core/record-helper.js.map +1 -1
  13. package/cjs/core/tableHelper.d.ts +1 -0
  14. package/cjs/core/tableHelper.js +13 -2
  15. package/cjs/core/tableHelper.js.map +1 -1
  16. package/cjs/core/utils/get-custom-merge-cell-func.d.ts +2 -0
  17. package/cjs/core/utils/get-custom-merge-cell-func.js +14 -0
  18. package/cjs/core/utils/get-custom-merge-cell-func.js.map +1 -0
  19. package/cjs/data/CachedDataSource.js +8 -2
  20. package/cjs/data/CachedDataSource.js.map +1 -1
  21. package/cjs/data/DataSource.d.ts +3 -3
  22. package/cjs/data/DataSource.js +29 -25
  23. package/cjs/data/DataSource.js.map +1 -1
  24. package/cjs/dataset/dataset-pivot-table.d.ts +1 -1
  25. package/cjs/dataset/dataset-pivot-table.js +11 -11
  26. package/cjs/dataset/dataset-pivot-table.js.map +1 -1
  27. package/cjs/dataset/dataset.d.ts +1 -15
  28. package/cjs/dataset/dataset.js +78 -75
  29. package/cjs/dataset/dataset.js.map +1 -1
  30. package/cjs/event/list-table/checkbox.js +15 -3
  31. package/cjs/event/list-table/checkbox.js.map +1 -1
  32. package/cjs/event/listener/table-group.js.map +1 -1
  33. package/cjs/header-helper/style.js +2 -1
  34. package/cjs/index.d.ts +2 -1
  35. package/cjs/index.js +13 -4
  36. package/cjs/index.js.map +1 -1
  37. package/cjs/layout/index.js +1 -2
  38. package/cjs/layout/pivot-header-layout.js +3 -1
  39. package/cjs/layout/pivot-header-layout.js.map +1 -1
  40. package/cjs/layout/simple-header-layout.d.ts +1 -1
  41. package/cjs/layout/simple-header-layout.js +3 -1
  42. package/cjs/layout/simple-header-layout.js.map +1 -1
  43. package/cjs/plugins/chartModules.js +1 -1
  44. package/cjs/register.d.ts +8 -0
  45. package/cjs/register.js +9 -4
  46. package/cjs/register.js.map +1 -1
  47. package/cjs/scenegraph/component/menu.d.ts +41 -0
  48. package/cjs/scenegraph/graphic/icon.js +1 -1
  49. package/cjs/scenegraph/graphic/icon.js.map +1 -1
  50. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +1 -1
  51. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  52. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  53. package/cjs/scenegraph/layout/frozen-react.js +9 -4
  54. package/cjs/scenegraph/layout/frozen-react.js.map +1 -1
  55. package/cjs/scenegraph/utils/text-icon-layout.js +0 -1
  56. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  57. package/cjs/scenegraph/utils/text-measure.d.ts +38 -0
  58. package/cjs/scenegraph/utils/text-measure.js +12 -4
  59. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  60. package/cjs/state/checkbox/checkbox.js +1 -1
  61. package/cjs/state/checkbox/checkbox.js.map +1 -1
  62. package/cjs/state/state.d.ts +1 -1
  63. package/cjs/state/state.js +10 -8
  64. package/cjs/state/state.js.map +1 -1
  65. package/cjs/ts-types/base-table.d.ts +10 -2
  66. package/cjs/ts-types/base-table.js.map +1 -1
  67. package/cjs/ts-types/component/empty-tip.d.ts +1 -0
  68. package/cjs/ts-types/component/empty-tip.js.map +1 -1
  69. package/cjs/{dataset/statistics-helper.d.ts → ts-types/dataset/aggregation.d.ts} +24 -10
  70. package/cjs/{dataset/statistics-helper.js → ts-types/dataset/aggregation.js} +49 -49
  71. package/cjs/ts-types/dataset/aggregation.js.map +1 -0
  72. package/cjs/ts-types/dataset/index.d.ts +1 -0
  73. package/cjs/ts-types/dataset/index.js +21 -0
  74. package/cjs/ts-types/dataset/index.js.map +1 -0
  75. package/cjs/ts-types/index.d.ts +1 -0
  76. package/cjs/ts-types/index.js +1 -1
  77. package/cjs/ts-types/index.js.map +1 -1
  78. package/cjs/ts-types/list-table/layout-map/api.d.ts +1 -1
  79. package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
  80. package/cjs/ts-types/new-data-set.d.ts +3 -2
  81. package/cjs/ts-types/new-data-set.js.map +1 -1
  82. package/cjs/ts-types/table-engine.d.ts +4 -2
  83. package/cjs/ts-types/table-engine.js.map +1 -1
  84. package/cjs/vrender.js.map +1 -1
  85. package/dist/vtable.js +7955 -6959
  86. package/dist/vtable.min.js +2 -2
  87. package/es/ListTable.d.ts +2 -2
  88. package/es/ListTable.js +1 -1
  89. package/es/ListTable.js.map +1 -1
  90. package/es/PivotTable.js +5 -5
  91. package/es/PivotTable.js.map +1 -1
  92. package/es/components/empty-tip/empty-tip.js +4 -3
  93. package/es/components/empty-tip/empty-tip.js.map +1 -1
  94. package/es/core/BaseTable.d.ts +4 -0
  95. package/es/core/BaseTable.js +55 -21
  96. package/es/core/BaseTable.js.map +1 -1
  97. package/es/core/record-helper.d.ts +1 -1
  98. package/es/core/record-helper.js.map +1 -1
  99. package/es/core/tableHelper.d.ts +1 -0
  100. package/es/core/tableHelper.js +10 -0
  101. package/es/core/tableHelper.js.map +1 -1
  102. package/es/core/utils/get-custom-merge-cell-func.d.ts +2 -0
  103. package/es/core/utils/get-custom-merge-cell-func.js +6 -0
  104. package/es/core/utils/get-custom-merge-cell-func.js.map +1 -0
  105. package/es/data/CachedDataSource.js +3 -1
  106. package/es/data/CachedDataSource.js.map +1 -1
  107. package/es/data/DataSource.d.ts +3 -3
  108. package/es/data/DataSource.js +20 -16
  109. package/es/data/DataSource.js.map +1 -1
  110. package/es/dataset/dataset-pivot-table.d.ts +1 -1
  111. package/es/dataset/dataset-pivot-table.js +2 -2
  112. package/es/dataset/dataset-pivot-table.js.map +1 -1
  113. package/es/dataset/dataset.d.ts +1 -15
  114. package/es/dataset/dataset.js +68 -65
  115. package/es/dataset/dataset.js.map +1 -1
  116. package/es/event/list-table/checkbox.js +15 -2
  117. package/es/event/list-table/checkbox.js.map +1 -1
  118. package/es/event/listener/table-group.js.map +1 -1
  119. package/es/header-helper/style.js +2 -1
  120. package/es/index.d.ts +2 -1
  121. package/es/index.js +3 -1
  122. package/es/index.js.map +1 -1
  123. package/es/layout/index.js +1 -2
  124. package/es/layout/pivot-header-layout.js +1 -1
  125. package/es/layout/pivot-header-layout.js.map +1 -1
  126. package/es/layout/simple-header-layout.d.ts +1 -1
  127. package/es/layout/simple-header-layout.js +3 -1
  128. package/es/layout/simple-header-layout.js.map +1 -1
  129. package/es/plugins/chartModules.js +1 -1
  130. package/es/register.d.ts +8 -0
  131. package/es/register.js +8 -1
  132. package/es/register.js.map +1 -1
  133. package/es/scenegraph/component/menu.d.ts +41 -0
  134. package/es/scenegraph/graphic/icon.js +1 -1
  135. package/es/scenegraph/graphic/icon.js.map +1 -1
  136. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +1 -1
  137. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  138. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  139. package/es/scenegraph/layout/frozen-react.js +9 -4
  140. package/es/scenegraph/layout/frozen-react.js.map +1 -1
  141. package/es/scenegraph/utils/text-icon-layout.js +0 -1
  142. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  143. package/es/scenegraph/utils/text-measure.d.ts +38 -0
  144. package/es/scenegraph/utils/text-measure.js +12 -4
  145. package/es/scenegraph/utils/text-measure.js.map +1 -1
  146. package/es/state/checkbox/checkbox.js +1 -1
  147. package/es/state/checkbox/checkbox.js.map +1 -1
  148. package/es/state/state.d.ts +1 -1
  149. package/es/state/state.js +10 -8
  150. package/es/state/state.js.map +1 -1
  151. package/es/ts-types/base-table.d.ts +10 -2
  152. package/es/ts-types/base-table.js.map +1 -1
  153. package/es/ts-types/component/empty-tip.d.ts +1 -0
  154. package/es/ts-types/component/empty-tip.js.map +1 -1
  155. package/es/{dataset/statistics-helper.d.ts → ts-types/dataset/aggregation.d.ts} +24 -10
  156. package/es/{dataset/statistics-helper.js → ts-types/dataset/aggregation.js} +31 -31
  157. package/es/ts-types/dataset/aggregation.js.map +1 -0
  158. package/es/ts-types/dataset/index.d.ts +1 -0
  159. package/es/ts-types/dataset/index.js +2 -0
  160. package/es/ts-types/dataset/index.js.map +1 -0
  161. package/es/ts-types/index.d.ts +1 -0
  162. package/es/ts-types/index.js +2 -0
  163. package/es/ts-types/index.js.map +1 -1
  164. package/es/ts-types/list-table/layout-map/api.d.ts +1 -1
  165. package/es/ts-types/list-table/layout-map/api.js.map +1 -1
  166. package/es/ts-types/new-data-set.d.ts +3 -2
  167. package/es/ts-types/new-data-set.js.map +1 -1
  168. package/es/ts-types/table-engine.d.ts +4 -2
  169. package/es/ts-types/table-engine.js.map +1 -1
  170. package/es/vrender.js.map +1 -1
  171. package/package.json +10 -8
  172. package/cjs/dataset/statistics-helper.js.map +0 -1
  173. package/es/dataset/statistics-helper.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { EmptyTip as EmptyTipComponents } from "@visactor/vrender-components";
2
2
 
3
- import { isEqual } from "@visactor/vutils";
3
+ import { isBoolean, isEqual, isValid } from "@visactor/vutils";
4
4
 
5
5
  const emptyTipSvg = '<svg t="1716726614852" class="icon" viewBox="0 0 1194 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2621" width="200" height="200"><path d="M1038.694079 367.237067c13.265507 23.342857-16.633865-40.004445-63.05621-40.004446H219.018794c-26.558738 0-46.46393 13.334815-63.05621 40.004446S0.006238 607.277601 0.006238 650.608819V940.647979a82.351494 82.351494 0 0 0 82.961402 83.349526H1111.702885a82.337632 82.337632 0 0 0 82.975264-83.349526V650.608819c0-43.331218-155.970208-283.371753-155.970208-283.371752zM730.066575 667.284269a136.328386 136.328386 0 0 1-132.738243 133.33429 133.417459 133.417459 0 0 1-132.738243-133.33429v-6.681269a40.6698 40.6698 0 0 0-36.497473-26.66963H73.015044l119.458874-220.02445s23.231965-40.004445 53.103614-40.004446h713.481918c26.544876 0 29.871649 10.008042 46.436207 40.004446L1128.33675 633.947231H769.904682c-26.184476 0-39.838107 7.623855-39.838107 33.337038zM338.505391 210.559919l-89.601086-86.69016a22.178487 22.178487 0 0 1 0-33.26773 21.984425 21.984425 0 0 1 33.170699 0l89.601087 86.676299a22.317102 22.317102 0 0 1 0 33.26773 24.950798 24.950798 0 0 1-33.1707 0z m252.197118-40.059891a25.532983 25.532983 0 0 1-6.639685-16.633865l-3.326773-126.694606A28.263709 28.263709 0 0 1 603.995739 0.515788c13.251646-3.326773 23.204242 10.021904 26.544877 23.342858V153.866163a28.249847 28.249847 0 0 1-23.259688 26.66963c-6.611961-3.312911-13.279369-3.312911-16.578419-10.035765z m235.646421 33.337038a22.372548 22.372548 0 0 1 0-33.337038l86.288175-90.030795a22.039871 22.039871 0 0 1 33.170699 0 22.289379 22.289379 0 0 1 0 33.364761l-82.961401 90.003072a25.962691 25.962691 0 0 1-36.483611 0z" fill="#8a8a8a" p-id="2622"></path></svg>';
6
6
 
@@ -18,7 +18,8 @@ export class EmptyTip {
18
18
  width: 100,
19
19
  height: 100
20
20
  }
21
- }, this.isReleased = !1, this.table = table, this._emptyTipOption = Object.assign(this._emptyTipOption, !0 === emptyTipOption ? {} : emptyTipOption),
21
+ }, this.isReleased = !1, this.table = table, isBoolean(emptyTipOption) || isValid(emptyTipOption.displayMode) || (this.table.isListTable() ? emptyTipOption.displayMode = "basedOnTable" : emptyTipOption.displayMode = "basedOnContainer"),
22
+ this._emptyTipOption = Object.assign(this._emptyTipOption, !0 === emptyTipOption ? {} : emptyTipOption),
22
23
  this._emptyTipComponent = this._createOrUpdateEmptyTipComponent(this._getEmptyTipAttrs());
23
24
  }
24
25
  _createOrUpdateEmptyTipComponent(attrs) {
@@ -56,7 +57,7 @@ export class EmptyTip {
56
57
  }
57
58
  _getEmptyTipAttrs() {
58
59
  var _a;
59
- const leftHeaderWidth = this.table.transpose || !1 === this.table.options.indicatorsAsCol ? this.table.getFrozenColsWidth() : 0, topHeaderHeight = !this.table.transpose || this.table.options.indicatorsAsCol ? this.table.getFrozenRowsHeight() : 0, width = (this.table.columnHeaderLevelCount > 0 && this.table.isListTable() ? this.table.getDrawRange().width : this.table.tableNoFrameWidth) - leftHeaderWidth - this.table.getTheme().scrollStyle.width, height = (this.table.rowHeaderLevelCount > 0 && this.table.isListTable() ? this.table.getDrawRange().height : this.table.tableNoFrameHeight) - topHeaderHeight - this.table.getTheme().scrollStyle.width;
60
+ const leftHeaderWidth = this.table.transpose || !1 === this.table.options.indicatorsAsCol ? this.table.getFrozenColsWidth() : 0, topHeaderHeight = !this.table.transpose || this.table.options.indicatorsAsCol ? this.table.getFrozenRowsHeight() : 0, width = ("basedOnContainer" !== this._emptyTipOption.displayMode && this.table.columnHeaderLevelCount > 0 && this.table.colCount > this.table.rowHeaderLevelCount ? this.table.getDrawRange().width : this.table.tableNoFrameWidth) - leftHeaderWidth - this.table.getTheme().scrollStyle.width, height = ("basedOnContainer" !== this._emptyTipOption.displayMode && this.table.rowHeaderLevelCount > 0 && this.table.rowCount > this.table.columnHeaderLevelCount ? this.table.getDrawRange().height : this.table.tableNoFrameHeight) - topHeaderHeight - this.table.getTheme().scrollStyle.width;
60
61
  return {
61
62
  spaceBetweenTextAndIcon: this._emptyTipOption.spaceBetweenTextAndIcon,
62
63
  x: this.table.tableX + leftHeaderWidth,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/empty-tip/empty-tip.ts"],"names":[],"mappings":"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","file":"empty-tip.js","sourcesContent":["import { EmptyTip as EmptyTipComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { EmptyTipAttributes } from '@visactor/vrender-components';\nimport type { IEmptyTip } from '../../ts-types/component/empty-tip';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport { isEqual } from '@visactor/vutils';\nimport type { ListTable } from '../../ListTable';\nimport type { PivotTable } from '../../PivotTable';\nimport type { BaseTable } from '../../core';\nconst emptyTipSvg =\n '<svg t=\"1716726614852\" class=\"icon\" viewBox=\"0 0 1194 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2621\" width=\"200\" height=\"200\"><path d=\"M1038.694079 367.237067c13.265507 23.342857-16.633865-40.004445-63.05621-40.004446H219.018794c-26.558738 0-46.46393 13.334815-63.05621 40.004446S0.006238 607.277601 0.006238 650.608819V940.647979a82.351494 82.351494 0 0 0 82.961402 83.349526H1111.702885a82.337632 82.337632 0 0 0 82.975264-83.349526V650.608819c0-43.331218-155.970208-283.371753-155.970208-283.371752zM730.066575 667.284269a136.328386 136.328386 0 0 1-132.738243 133.33429 133.417459 133.417459 0 0 1-132.738243-133.33429v-6.681269a40.6698 40.6698 0 0 0-36.497473-26.66963H73.015044l119.458874-220.02445s23.231965-40.004445 53.103614-40.004446h713.481918c26.544876 0 29.871649 10.008042 46.436207 40.004446L1128.33675 633.947231H769.904682c-26.184476 0-39.838107 7.623855-39.838107 33.337038zM338.505391 210.559919l-89.601086-86.69016a22.178487 22.178487 0 0 1 0-33.26773 21.984425 21.984425 0 0 1 33.170699 0l89.601087 86.676299a22.317102 22.317102 0 0 1 0 33.26773 24.950798 24.950798 0 0 1-33.1707 0z m252.197118-40.059891a25.532983 25.532983 0 0 1-6.639685-16.633865l-3.326773-126.694606A28.263709 28.263709 0 0 1 603.995739 0.515788c13.251646-3.326773 23.204242 10.021904 26.544877 23.342858V153.866163a28.249847 28.249847 0 0 1-23.259688 26.66963c-6.611961-3.312911-13.279369-3.312911-16.578419-10.035765z m235.646421 33.337038a22.372548 22.372548 0 0 1 0-33.337038l86.288175-90.030795a22.039871 22.039871 0 0 1 33.170699 0 22.289379 22.289379 0 0 1 0 33.364761l-82.961401 90.003072a25.962691 25.962691 0 0 1-36.483611 0z\" fill=\"#8a8a8a\" p-id=\"2622\"></path></svg>';\n\nexport interface IEmptyTipComponent {\n new (emptyTipOption: IEmptyTip | true, table: BaseTableAPI): EmptyTip;\n}\n\nexport class EmptyTip {\n table: BaseTableAPI;\n _emptyTipOption: IEmptyTip = {\n spaceBetweenTextAndIcon: 20,\n text: 'no data',\n textStyle: {\n fontSize: 14,\n color: '#000'\n },\n icon: {\n image: emptyTipSvg,\n width: 100,\n height: 100\n }\n };\n isReleased: boolean = false;\n private _emptyTipComponent: EmptyTipComponents;\n private _cacheAttrs: EmptyTipAttributes;\n constructor(emptyTipOption: IEmptyTip | true, table: BaseTableAPI) {\n this.table = table;\n this._emptyTipOption = Object.assign(this._emptyTipOption, emptyTipOption === true ? {} : emptyTipOption);\n this._emptyTipComponent = this._createOrUpdateEmptyTipComponent(this._getEmptyTipAttrs());\n }\n\n private _createOrUpdateEmptyTipComponent(attrs: EmptyTipAttributes): EmptyTipComponents {\n if (this._emptyTipComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._emptyTipComponent.setAttributes(attrs);\n }\n } else {\n const emptyTip = new EmptyTipComponents(attrs);\n emptyTip.name = 'emptyTip';\n this.table.scenegraph.stage.defaultLayer.appendChild(emptyTip);\n this._emptyTipComponent = emptyTip;\n }\n // update table size\n // this._adjustTableSize(this._emptyTipComponent.attribute);\n return this._emptyTipComponent;\n }\n\n resize() {\n if (!this._emptyTipComponent) {\n return;\n }\n const leftHeaderWidth =\n (this.table as ListTable).transpose || (this.table as PivotTable).options.indicatorsAsCol === false\n ? this.table.getFrozenColsWidth()\n : 0;\n const topHeaderHeight =\n !(this.table as ListTable).transpose || (this.table as PivotTable).options.indicatorsAsCol\n ? this.table.getFrozenRowsHeight()\n : 0;\n const width =\n (this.table.columnHeaderLevelCount > 0 && this.table.isListTable()\n ? this.table.getDrawRange().width\n : this.table.tableNoFrameWidth) -\n leftHeaderWidth -\n (this.table as BaseTable).getTheme().scrollStyle.width;\n\n const height =\n (this.table.rowHeaderLevelCount > 0 && this.table.isListTable()\n ? this.table.getDrawRange().height\n : this.table.tableNoFrameHeight) -\n topHeaderHeight -\n (this.table as BaseTable).getTheme().scrollStyle.width;\n this._emptyTipComponent.setAttributes({\n spaceBetweenTextAndIcon: this._emptyTipOption.spaceBetweenTextAndIcon,\n x: this.table.tableX + leftHeaderWidth,\n y: this.table.tableY + topHeaderHeight,\n width,\n height,\n text: {\n text: this._emptyTipOption.text,\n ...this._emptyTipOption.textStyle,\n fill: this._emptyTipOption.textStyle?.color\n },\n icon: {\n ...this._emptyTipOption.icon\n }\n });\n }\n\n release(): void {\n this._emptyTipComponent && this.table.scenegraph.stage.defaultLayer.removeChild(this._emptyTipComponent);\n this._emptyTipComponent = null;\n this.isReleased = true;\n }\n resetVisible() {\n if (\n ((!this.table.recordsCount || this.table.recordsCount === 0) &&\n this.table.internalProps.layoutMap.rowCount === this.table.internalProps.layoutMap.columnHeaderLevelCount) ||\n this.table.internalProps.layoutMap.colCount === this.table.internalProps.layoutMap.rowHeaderLevelCount\n ) {\n // this._emptyTipComponent.setAttributes({\n // visible: true\n // });\n // this._emptyTipComponent.showAll();\n if (!this.table.scenegraph.stage.defaultLayer.children.includes(this._emptyTipComponent)) {\n this.table.scenegraph.stage.defaultLayer.appendChild(this._emptyTipComponent);\n }\n } else {\n // this._emptyTipComponent.setAttributes({\n // visible: false\n // });\n // this._emptyTipComponent.hideAll();\n if (this.table.scenegraph.stage.defaultLayer.children.includes(this._emptyTipComponent)) {\n this.table.scenegraph.stage.defaultLayer.removeChild(this._emptyTipComponent);\n }\n }\n }\n\n private _getEmptyTipAttrs() {\n const leftHeaderWidth =\n (this.table as ListTable).transpose || (this.table as PivotTable).options.indicatorsAsCol === false\n ? this.table.getFrozenColsWidth()\n : 0;\n const topHeaderHeight =\n !(this.table as ListTable).transpose || (this.table as PivotTable).options.indicatorsAsCol\n ? this.table.getFrozenRowsHeight()\n : 0;\n const width =\n (this.table.columnHeaderLevelCount > 0 && this.table.isListTable()\n ? this.table.getDrawRange().width\n : this.table.tableNoFrameWidth) -\n leftHeaderWidth -\n (this.table as BaseTable).getTheme().scrollStyle.width;\n const height =\n (this.table.rowHeaderLevelCount > 0 && this.table.isListTable()\n ? this.table.getDrawRange().height\n : this.table.tableNoFrameHeight) -\n topHeaderHeight -\n (this.table as BaseTable).getTheme().scrollStyle.width;\n\n return {\n spaceBetweenTextAndIcon: this._emptyTipOption.spaceBetweenTextAndIcon,\n x: this.table.tableX + leftHeaderWidth,\n y: this.table.tableY + topHeaderHeight,\n width,\n height,\n text: {\n text: this._emptyTipOption.text,\n ...this._emptyTipOption.textStyle,\n fill: this._emptyTipOption.textStyle?.color\n },\n icon: {\n ...this._emptyTipOption.icon\n }\n // visible:this.table.recordsCount === 0?true:false\n } as EmptyTipAttributes;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/components/empty-tip/empty-tip.ts"],"names":[],"mappings":"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","file":"empty-tip.js","sourcesContent":["import { EmptyTip as EmptyTipComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { EmptyTipAttributes } from '@visactor/vrender-components';\nimport type { IEmptyTip } from '../../ts-types/component/empty-tip';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport { isBoolean, isEqual, isValid } from '@visactor/vutils';\nimport type { ListTable } from '../../ListTable';\nimport type { PivotTable } from '../../PivotTable';\nimport type { BaseTable } from '../../core';\nconst emptyTipSvg =\n '<svg t=\"1716726614852\" class=\"icon\" viewBox=\"0 0 1194 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2621\" width=\"200\" height=\"200\"><path d=\"M1038.694079 367.237067c13.265507 23.342857-16.633865-40.004445-63.05621-40.004446H219.018794c-26.558738 0-46.46393 13.334815-63.05621 40.004446S0.006238 607.277601 0.006238 650.608819V940.647979a82.351494 82.351494 0 0 0 82.961402 83.349526H1111.702885a82.337632 82.337632 0 0 0 82.975264-83.349526V650.608819c0-43.331218-155.970208-283.371753-155.970208-283.371752zM730.066575 667.284269a136.328386 136.328386 0 0 1-132.738243 133.33429 133.417459 133.417459 0 0 1-132.738243-133.33429v-6.681269a40.6698 40.6698 0 0 0-36.497473-26.66963H73.015044l119.458874-220.02445s23.231965-40.004445 53.103614-40.004446h713.481918c26.544876 0 29.871649 10.008042 46.436207 40.004446L1128.33675 633.947231H769.904682c-26.184476 0-39.838107 7.623855-39.838107 33.337038zM338.505391 210.559919l-89.601086-86.69016a22.178487 22.178487 0 0 1 0-33.26773 21.984425 21.984425 0 0 1 33.170699 0l89.601087 86.676299a22.317102 22.317102 0 0 1 0 33.26773 24.950798 24.950798 0 0 1-33.1707 0z m252.197118-40.059891a25.532983 25.532983 0 0 1-6.639685-16.633865l-3.326773-126.694606A28.263709 28.263709 0 0 1 603.995739 0.515788c13.251646-3.326773 23.204242 10.021904 26.544877 23.342858V153.866163a28.249847 28.249847 0 0 1-23.259688 26.66963c-6.611961-3.312911-13.279369-3.312911-16.578419-10.035765z m235.646421 33.337038a22.372548 22.372548 0 0 1 0-33.337038l86.288175-90.030795a22.039871 22.039871 0 0 1 33.170699 0 22.289379 22.289379 0 0 1 0 33.364761l-82.961401 90.003072a25.962691 25.962691 0 0 1-36.483611 0z\" fill=\"#8a8a8a\" p-id=\"2622\"></path></svg>';\n\nexport interface IEmptyTipComponent {\n new (emptyTipOption: IEmptyTip | true, table: BaseTableAPI): EmptyTip;\n}\n\nexport class EmptyTip {\n table: BaseTableAPI;\n _emptyTipOption: IEmptyTip = {\n spaceBetweenTextAndIcon: 20,\n text: 'no data',\n textStyle: {\n fontSize: 14,\n color: '#000'\n },\n icon: {\n image: emptyTipSvg,\n width: 100,\n height: 100\n }\n };\n isReleased: boolean = false;\n private _emptyTipComponent: EmptyTipComponents;\n private _cacheAttrs: EmptyTipAttributes;\n constructor(emptyTipOption: IEmptyTip | true, table: BaseTableAPI) {\n this.table = table;\n // deal with displayMode\n if (!isBoolean(emptyTipOption) && !isValid(emptyTipOption.displayMode)) {\n // for list table and pivot table current display effect\n if (this.table.isListTable()) {\n emptyTipOption.displayMode = 'basedOnTable';\n } else {\n emptyTipOption.displayMode = 'basedOnContainer';\n }\n }\n this._emptyTipOption = Object.assign(this._emptyTipOption, emptyTipOption === true ? {} : emptyTipOption);\n this._emptyTipComponent = this._createOrUpdateEmptyTipComponent(this._getEmptyTipAttrs());\n }\n\n private _createOrUpdateEmptyTipComponent(attrs: EmptyTipAttributes): EmptyTipComponents {\n if (this._emptyTipComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._emptyTipComponent.setAttributes(attrs);\n }\n } else {\n const emptyTip = new EmptyTipComponents(attrs);\n emptyTip.name = 'emptyTip';\n this.table.scenegraph.stage.defaultLayer.appendChild(emptyTip);\n this._emptyTipComponent = emptyTip;\n }\n // update table size\n // this._adjustTableSize(this._emptyTipComponent.attribute);\n return this._emptyTipComponent;\n }\n\n resize() {\n if (!this._emptyTipComponent) {\n return;\n }\n const leftHeaderWidth =\n (this.table as ListTable).transpose || (this.table as PivotTable).options.indicatorsAsCol === false\n ? this.table.getFrozenColsWidth()\n : 0;\n const topHeaderHeight =\n !(this.table as ListTable).transpose || (this.table as PivotTable).options.indicatorsAsCol\n ? this.table.getFrozenRowsHeight()\n : 0;\n const width =\n (this.table.columnHeaderLevelCount > 0 && this.table.isListTable()\n ? this.table.getDrawRange().width\n : this.table.tableNoFrameWidth) -\n leftHeaderWidth -\n (this.table as BaseTable).getTheme().scrollStyle.width;\n\n const height =\n (this.table.rowHeaderLevelCount > 0 && this.table.isListTable()\n ? this.table.getDrawRange().height\n : this.table.tableNoFrameHeight) -\n topHeaderHeight -\n (this.table as BaseTable).getTheme().scrollStyle.width;\n this._emptyTipComponent.setAttributes({\n spaceBetweenTextAndIcon: this._emptyTipOption.spaceBetweenTextAndIcon,\n x: this.table.tableX + leftHeaderWidth,\n y: this.table.tableY + topHeaderHeight,\n width,\n height,\n text: {\n text: this._emptyTipOption.text,\n ...this._emptyTipOption.textStyle,\n fill: this._emptyTipOption.textStyle?.color\n },\n icon: {\n ...this._emptyTipOption.icon\n }\n });\n }\n\n release(): void {\n this._emptyTipComponent && this.table.scenegraph.stage.defaultLayer.removeChild(this._emptyTipComponent);\n this._emptyTipComponent = null;\n this.isReleased = true;\n }\n resetVisible() {\n if (\n ((!this.table.recordsCount || this.table.recordsCount === 0) &&\n this.table.internalProps.layoutMap.rowCount === this.table.internalProps.layoutMap.columnHeaderLevelCount) ||\n this.table.internalProps.layoutMap.colCount === this.table.internalProps.layoutMap.rowHeaderLevelCount\n ) {\n // this._emptyTipComponent.setAttributes({\n // visible: true\n // });\n // this._emptyTipComponent.showAll();\n if (!this.table.scenegraph.stage.defaultLayer.children.includes(this._emptyTipComponent)) {\n this.table.scenegraph.stage.defaultLayer.appendChild(this._emptyTipComponent);\n }\n } else {\n // this._emptyTipComponent.setAttributes({\n // visible: false\n // });\n // this._emptyTipComponent.hideAll();\n if (this.table.scenegraph.stage.defaultLayer.children.includes(this._emptyTipComponent)) {\n this.table.scenegraph.stage.defaultLayer.removeChild(this._emptyTipComponent);\n }\n }\n }\n\n private _getEmptyTipAttrs() {\n const leftHeaderWidth =\n (this.table as ListTable).transpose || (this.table as PivotTable).options.indicatorsAsCol === false\n ? this.table.getFrozenColsWidth()\n : 0;\n const topHeaderHeight =\n !(this.table as ListTable).transpose || (this.table as PivotTable).options.indicatorsAsCol\n ? this.table.getFrozenRowsHeight()\n : 0;\n const width =\n (this._emptyTipOption.displayMode !== 'basedOnContainer' &&\n this.table.columnHeaderLevelCount > 0 &&\n this.table.colCount > this.table.rowHeaderLevelCount\n ? this.table.getDrawRange().width\n : this.table.tableNoFrameWidth) -\n leftHeaderWidth -\n (this.table as BaseTable).getTheme().scrollStyle.width;\n const height =\n (this._emptyTipOption.displayMode !== 'basedOnContainer' &&\n this.table.rowHeaderLevelCount > 0 &&\n this.table.rowCount > this.table.columnHeaderLevelCount\n ? this.table.getDrawRange().height\n : this.table.tableNoFrameHeight) -\n topHeaderHeight -\n (this.table as BaseTable).getTheme().scrollStyle.width;\n\n return {\n spaceBetweenTextAndIcon: this._emptyTipOption.spaceBetweenTextAndIcon,\n x: this.table.tableX + leftHeaderWidth,\n y: this.table.tableY + topHeaderHeight,\n width,\n height,\n text: {\n text: this._emptyTipOption.text,\n ...this._emptyTipOption.textStyle,\n fill: this._emptyTipOption.textStyle?.color\n },\n icon: {\n ...this._emptyTipOption.icon\n }\n // visible:this.table.recordsCount === 0?true:false\n } as EmptyTipAttributes;\n }\n}\n"]}
@@ -142,8 +142,11 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
142
142
  get heightAdaptiveMode(): HeightAdaptiveModeDef;
143
143
  set heightAdaptiveMode(heightAdaptiveMode: HeightAdaptiveModeDef);
144
144
  _colWidthDefineToPxWidth(width: string | number): number;
145
+ _getMaxFrozenWidth(): number;
146
+ _getComputedFrozenColCount(frozenColCount: number): number;
145
147
  private _getColWidthLimits;
146
148
  _adjustColWidth(col: number, orgWidth: number): number;
149
+ get pixelRatio(): number;
147
150
  setPixelRatio(pixelRatio: number): void;
148
151
  _updateSize(): void;
149
152
  updateViewBox(newViewBox: IBoundsLike): void;
@@ -425,4 +428,5 @@ export declare abstract class BaseTable extends EventTarget implements BaseTable
425
428
  col?: number;
426
429
  row?: number;
427
430
  }, animationOption?: ITableAnimationOption | boolean): void;
431
+ checkHasColumnAutoWidth(): boolean;
428
432
  }
@@ -42,7 +42,7 @@ import { getProp } from "../scenegraph/utils/get-prop";
42
42
 
43
43
  import { IconCache } from "../plugins/icons";
44
44
 
45
- import { _applyColWidthLimits, _getScrollableVisibleRect, _setDataSource, _toPxWidth, createRootElement, getStyleTheme, updateRootElementPadding } from "./tableHelper";
45
+ import { _applyColWidthLimits, _getScrollableVisibleRect, _setDataSource, _toPxWidth, checkHasColumnAutoWidth, createRootElement, getStyleTheme, updateRootElementPadding } from "./tableHelper";
46
46
 
47
47
  import { FocusInput } from "./FouseInput";
48
48
 
@@ -76,6 +76,10 @@ import { checkCellInSelect } from "../state/common/check-in-select";
76
76
 
77
77
  import { isCellDisableSelect } from "../state/select/is-cell-select-highlight";
78
78
 
79
+ import { getCustomMergeCellFunc } from "./utils/get-custom-merge-cell-func";
80
+
81
+ import { vglobal } from "./../vrender";
82
+
79
83
  const {toBoxArray: toBoxArray} = utilStyle, {isTouchEvent: isTouchEvent} = event, rangeReg = /^\$(\d+)\$(\d+)$/;
80
84
 
81
85
  importStyle();
@@ -85,11 +89,12 @@ export class BaseTable extends EventTarget {
85
89
  return TABLE_EVENT_TYPE;
86
90
  }
87
91
  constructor(container, options = {}) {
88
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
89
- if (super(), this.showFrozenIcon = !0, this.version = "1.14.4-alpha.4", this.id = `VTable${Date.now()}`,
92
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
93
+ if (super(), this.showFrozenIcon = !0, this.version = "1.15.0", this.id = `VTable${Date.now()}`,
90
94
  this.isReleased = !1, this._chartEventMap = {}, this.throttleInvalidate = throttle2(this.render.bind(this), 200),
91
95
  !container && "node" !== options.mode && !options.canvas) throw new Error("vtable's container is undefined");
92
- 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 = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight, clearDOM: clearDOM = !0} = options;
96
+ !1 === (null === (_a = options.customConfig) || void 0 === _a ? void 0 : _a.imageAnonymous) && (vglobal.isImageAnonymous = !1);
97
+ const {frozenColCount: frozenColCount = 0, unfreezeAllOnExceedsMaxWidth: unfreezeAllOnExceedsMaxWidth, 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 = defaultPixelRatio, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, mode: mode, modeParams: modeParams, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight, clearDOM: clearDOM = !0} = options;
93
98
  this.container = container, this.options = options, this._widthMode = widthMode,
94
99
  this._heightMode = heightMode, this._widthAdaptiveMode = widthAdaptiveMode, this._heightAdaptiveMode = heightAdaptiveMode,
95
100
  this._autoFillWidth = autoFillWidth, this._autoFillHeight = autoFillHeight, this.customRender = customRender,
@@ -103,7 +108,7 @@ export class BaseTable extends EventTarget {
103
108
  padding.bottom && (this.padding.bottom = padding.bottom), padding.left && (this.padding.left = padding.left),
104
109
  padding.right && (this.padding.right = padding.right))), isValid(canvasHeight) && isValid(canvasWidth) && (this.canvasSizeSeted = !0),
105
110
  this.tableNoFrameWidth = 0, this.tableNoFrameHeight = 0, this.canvasWidth = canvasWidth,
106
- this.canvasHeight = canvasHeight, this.columnWidthComputeMode = null !== (_a = options.columnWidthComputeMode) && void 0 !== _a ? _a : "normal";
111
+ this.canvasHeight = canvasHeight, this.columnWidthComputeMode = null !== (_b = options.columnWidthComputeMode) && void 0 !== _b ? _b : "normal";
107
112
  const internalProps = this.internalProps = {};
108
113
  if (void 0 !== showFrozenIcon && (this.showFrozenIcon = showFrozenIcon), "number" == typeof allowFrozenColCount && allowFrozenColCount <= 0 && (this.showFrozenIcon = !1),
109
114
  this.options.canvas ? (internalProps.element = this.options.canvas.parentElement,
@@ -111,11 +116,11 @@ export class BaseTable extends EventTarget {
111
116
  internalProps.canvas = this.options.canvas, internalProps.context = internalProps.canvas.getContext("2d")) : "node" !== Env.mode && (internalProps.element = createRootElement(this.padding),
112
117
  internalProps.focusControl = new FocusInput(this, internalProps.element), internalProps.canvas = document.createElement("canvas"),
113
118
  internalProps.element.appendChild(internalProps.canvas), internalProps.context = internalProps.canvas.getContext("2d"),
114
- (null === (_b = options.customConfig) || void 0 === _b ? void 0 : _b.createReactContainer) && createReactContainer(this)),
119
+ (null === (_c = options.customConfig) || void 0 === _c ? void 0 : _c.createReactContainer) && createReactContainer(this)),
115
120
  internalProps.handler = new EventHandler, isNumber(this.options.resizeTime) && (internalProps.handler.resizeTime = this.options.resizeTime),
116
121
  internalProps.pixelRatio = pixelRatio, internalProps.frozenColCount = frozenColCount,
117
- internalProps.frozenRowCount = frozenRowCount, internalProps.defaultRowHeight = defaultRowHeight,
118
- internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
122
+ internalProps.frozenRowCount = frozenRowCount, internalProps.unfreezeAllOnExceedsMaxWidth = null == unfreezeAllOnExceedsMaxWidth || unfreezeAllOnExceedsMaxWidth,
123
+ internalProps.defaultRowHeight = defaultRowHeight, internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
119
124
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
120
125
  internalProps.keyboardOptions = keyboardOptions, internalProps.eventOptions = eventOptions,
121
126
  internalProps.rowSeriesNumber = rowSeriesNumber, internalProps.columnResizeMode = columnResizeMode,
@@ -131,14 +136,14 @@ export class BaseTable extends EventTarget {
131
136
  var _a;
132
137
  return "node" === Env.mode ? canvasWidth / (null != pixelRatio ? pixelRatio : 1) : this._.canvas.width / (null !== (_a = this._.context.pixelRatio) && void 0 !== _a ? _a : window.devicePixelRatio);
133
138
  }
134
- }, internalProps.cellTextOverflows = {}, internalProps.focusedTable = !1, internalProps.theme = themes.of(null !== (_c = options.theme) && void 0 !== _c ? _c : themes.DEFAULT),
139
+ }, internalProps.cellTextOverflows = {}, internalProps.focusedTable = !1, internalProps.theme = themes.of(null !== (_d = options.theme) && void 0 !== _d ? _d : themes.DEFAULT),
135
140
  internalProps.theme.isPivot = this.isPivotTable(), setIconColor(internalProps.theme.functionalIconsStyle),
136
141
  container ? (clearDOM && (container.innerHTML = ""), container.appendChild(internalProps.element),
137
142
  this._updateSize()) : this._updateSize(), internalProps.bodyHelper = new BodyHelper(this),
138
143
  internalProps.headerHelper = new HeaderHelper(this), internalProps.rowSeriesNumberHelper = new RowSeriesNumberHelper(this),
139
144
  internalProps.autoWrapText = options.autoWrapText, internalProps.enableLineBreak = options.enableLineBreak,
140
- internalProps.allowFrozenColCount = null !== (_d = options.allowFrozenColCount) && void 0 !== _d ? _d : 0,
141
- internalProps.limitMaxAutoWidth = null !== (_e = options.limitMaxAutoWidth) && void 0 !== _e ? _e : 450,
145
+ internalProps.allowFrozenColCount = null !== (_e = options.allowFrozenColCount) && void 0 !== _e ? _e : 0,
146
+ internalProps.limitMaxAutoWidth = null !== (_f = options.limitMaxAutoWidth) && void 0 !== _f ? _f : 450,
142
147
  internalProps.limitMinWidth = null != limitMinWidth ? "number" == typeof limitMinWidth ? limitMinWidth : limitMinWidth ? 10 : 0 : 10,
143
148
  internalProps.limitMinHeight = null != limitMinHeight ? "number" == typeof limitMinHeight ? limitMinHeight : limitMinHeight ? 10 : 0 : 10,
144
149
  this.scenegraph = new Scenegraph(this), this.stateManager = new StateManager(this),
@@ -169,8 +174,8 @@ export class BaseTable extends EventTarget {
169
174
  }
170
175
  if (internalProps.menu = Object.assign({
171
176
  renderMode: "html"
172
- }, options.menu), Array.isArray(null === (_f = options.menu) || void 0 === _f ? void 0 : _f.dropDownMenuHighlight) && this.setDropDownMenuHighlight(null === (_g = options.menu) || void 0 === _g ? void 0 : _g.dropDownMenuHighlight),
173
- Array.isArray(null === (_h = options.menu) || void 0 === _h ? void 0 : _h.defaultHeaderMenuItems) && (this.globalDropDownMenu = options.menu.defaultHeaderMenuItems),
177
+ }, options.menu), Array.isArray(null === (_g = options.menu) || void 0 === _g ? void 0 : _g.dropDownMenuHighlight) && this.setDropDownMenuHighlight(null === (_h = options.menu) || void 0 === _h ? void 0 : _h.dropDownMenuHighlight),
178
+ Array.isArray(null === (_j = options.menu) || void 0 === _j ? void 0 : _j.defaultHeaderMenuItems) && (this.globalDropDownMenu = options.menu.defaultHeaderMenuItems),
174
179
  "html" === internalProps.menu.renderMode) {
175
180
  const MenuHandler = Factory.getComponent("menuHandler");
176
181
  internalProps.menuHandler = new MenuHandler(this);
@@ -178,9 +183,9 @@ export class BaseTable extends EventTarget {
178
183
  this.headerStyleCache = new Map, this.bodyStyleCache = new Map, this.bodyMergeTitleCache = new Map,
179
184
  this.bodyBottomStyleCache = new Map, internalProps.stick = {
180
185
  changedCells: new Map
181
- }, internalProps.customMergeCell = options.customMergeCell;
186
+ }, internalProps.customMergeCell = getCustomMergeCellFunc(options.customMergeCell);
182
187
  const CustomCellStylePlugin = Factory.getComponent("customCellStylePlugin");
183
- CustomCellStylePlugin && (this.customCellStylePlugin = new CustomCellStylePlugin(this, null !== (_j = options.customCellStyle) && void 0 !== _j ? _j : [], null !== (_k = options.customCellStyleArrangement) && void 0 !== _k ? _k : []));
188
+ CustomCellStylePlugin && (this.customCellStylePlugin = new CustomCellStylePlugin(this, null !== (_k = options.customCellStyle) && void 0 !== _k ? _k : [], null !== (_l = options.customCellStyleArrangement) && void 0 !== _l ? _l : []));
184
189
  }
185
190
  getContainer() {
186
191
  return this.container;
@@ -221,12 +226,22 @@ export class BaseTable extends EventTarget {
221
226
  }
222
227
  set frozenColCount(frozenColCount) {
223
228
  frozenColCount >= this.colCount && (frozenColCount = 0), this.internalProps.frozenColCount = frozenColCount,
224
- this.options.frozenColCount = frozenColCount, this.tableNoFrameWidth - this.getColsWidth(0, frozenColCount - 1) <= 120 && (this.internalProps.frozenColCount = 0),
229
+ this.options.frozenColCount = frozenColCount;
230
+ const maxFrozenWidth = this._getMaxFrozenWidth();
231
+ if (this.getColsWidth(0, frozenColCount - 1) > maxFrozenWidth) if (this.internalProps.unfreezeAllOnExceedsMaxWidth) this.internalProps.frozenColCount = 0; else {
232
+ const computedFrozenColCount = this._getComputedFrozenColCount(frozenColCount);
233
+ this.internalProps.frozenColCount = computedFrozenColCount;
234
+ }
225
235
  this.stateManager.setFrozenCol(this.internalProps.frozenColCount);
226
236
  }
227
237
  setFrozenColCount(frozenColCount) {
228
238
  frozenColCount >= this.colCount && (frozenColCount = 0), this.internalProps.frozenColCount = frozenColCount,
229
- this.options.frozenColCount = frozenColCount, this.tableNoFrameWidth - this.getColsWidth(0, frozenColCount - 1) <= 120 && (this.internalProps.frozenColCount = 0),
239
+ this.options.frozenColCount = frozenColCount;
240
+ const maxFrozenWidth = this._getMaxFrozenWidth();
241
+ if (this.getColsWidth(0, frozenColCount - 1) > maxFrozenWidth) if (this.internalProps.unfreezeAllOnExceedsMaxWidth) this.internalProps.frozenColCount = 0; else {
242
+ const computedFrozenColCount = this._getComputedFrozenColCount(frozenColCount);
243
+ this.internalProps.frozenColCount = computedFrozenColCount;
244
+ }
230
245
  this.stateManager.setFrozenCol(this.internalProps.frozenColCount);
231
246
  }
232
247
  _setFrozenColCount(frozenColCount) {
@@ -369,6 +384,18 @@ export class BaseTable extends EventTarget {
369
384
  _colWidthDefineToPxWidth(width) {
370
385
  return "auto" === width ? 0 : _toPxWidth(this, width);
371
386
  }
387
+ _getMaxFrozenWidth() {
388
+ var _a;
389
+ const maxFrozenWidth = null !== (_a = this.options.maxFrozenWidth) && void 0 !== _a ? _a : "80%";
390
+ return _toPxWidth(this, maxFrozenWidth);
391
+ }
392
+ _getComputedFrozenColCount(frozenColCount) {
393
+ const maxFrozenWidth = this._getMaxFrozenWidth();
394
+ let computedfrozenColCount = frozenColCount;
395
+ for (;this.getColsWidth(0, computedfrozenColCount - 1) > maxFrozenWidth && (computedfrozenColCount--,
396
+ !(computedfrozenColCount <= 0)); ) ;
397
+ return computedfrozenColCount;
398
+ }
372
399
  _getColWidthLimits(col) {
373
400
  const limit = this.colWidthsLimit[col];
374
401
  if (!limit) return null;
@@ -381,6 +408,9 @@ export class BaseTable extends EventTarget {
381
408
  const limits = this._getColWidthLimits(col);
382
409
  return Math.max(_applyColWidthLimits(limits, orgWidth), 0);
383
410
  }
411
+ get pixelRatio() {
412
+ return this.internalProps.pixelRatio;
413
+ }
384
414
  setPixelRatio(pixelRatio) {
385
415
  if (pixelRatio !== this.internalProps.pixelRatio) {
386
416
  this.internalProps.pixelRatio = pixelRatio;
@@ -828,7 +858,7 @@ export class BaseTable extends EventTarget {
828
858
  updateOption(options) {
829
859
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
830
860
  this.options = options, this._hasAutoImageColumn = void 0;
831
- const {frozenColCount: frozenColCount = 0, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, 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, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, autoFillHeight: autoFillHeight, widthAdaptiveMode: widthAdaptiveMode, heightAdaptiveMode: heightAdaptiveMode, customRender: customRender, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight} = options;
861
+ const {frozenColCount: frozenColCount = 0, unfreezeAllOnExceedsMaxWidth: unfreezeAllOnExceedsMaxWidth, defaultRowHeight: defaultRowHeight = 40, defaultHeaderRowHeight: defaultHeaderRowHeight, defaultColWidth: defaultColWidth = 80, defaultHeaderColWidth: defaultHeaderColWidth = 80, 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, pixelRatio: pixelRatio, widthMode: widthMode, heightMode: heightMode, autoFillWidth: autoFillWidth, autoFillHeight: autoFillHeight, widthAdaptiveMode: widthAdaptiveMode, heightAdaptiveMode: heightAdaptiveMode, customRender: customRender, renderChartAsync: renderChartAsync, renderChartAsyncBatchCount: renderChartAsyncBatchCount, canvasWidth: canvasWidth, canvasHeight: canvasHeight, overscrollBehavior: overscrollBehavior, limitMinWidth: limitMinWidth, limitMinHeight: limitMinHeight} = options;
832
862
  pixelRatio && pixelRatio !== this.internalProps.pixelRatio && (this.internalProps.pixelRatio = pixelRatio),
833
863
  padding && ("number" == typeof padding ? (this.padding.top = padding, this.padding.left = padding,
834
864
  this.padding.bottom = padding, this.padding.right = padding) : (padding.top && (this.padding.top = padding.top),
@@ -843,8 +873,8 @@ export class BaseTable extends EventTarget {
843
873
  const internalProps = this.internalProps;
844
874
  if ("node" === Env.mode || options.canvas || updateRootElementPadding(internalProps.element, this.padding),
845
875
  this.columnWidthComputeMode = null !== (_a = options.columnWidthComputeMode) && void 0 !== _a ? _a : "normal",
846
- internalProps.frozenColCount = frozenColCount, internalProps.defaultRowHeight = defaultRowHeight,
847
- internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
876
+ internalProps.frozenColCount = frozenColCount, internalProps.unfreezeAllOnExceedsMaxWidth = null == unfreezeAllOnExceedsMaxWidth || unfreezeAllOnExceedsMaxWidth,
877
+ internalProps.defaultRowHeight = defaultRowHeight, internalProps.defaultHeaderRowHeight = null != defaultHeaderRowHeight ? defaultHeaderRowHeight : defaultRowHeight,
848
878
  internalProps.defaultColWidth = defaultColWidth, internalProps.defaultHeaderColWidth = null != defaultHeaderColWidth ? defaultHeaderColWidth : defaultColWidth,
849
879
  internalProps.keyboardOptions = keyboardOptions, internalProps.eventOptions = eventOptions,
850
880
  internalProps.rowSeriesNumber = rowSeriesNumber, internalProps.columnResizeMode = columnResizeMode,
@@ -901,7 +931,8 @@ export class BaseTable extends EventTarget {
901
931
  internalProps.menuHandler = new MenuHandler(this);
902
932
  }
903
933
  this.clearCellStyleCache(), this.clearColWidthCache(), this.clearRowHeightCache(),
904
- internalProps.customMergeCell = options.customMergeCell, null === (_l = this.customCellStylePlugin) || void 0 === _l || _l.updateCustomCell(null !== (_m = options.customCellStyle) && void 0 !== _m ? _m : [], null !== (_o = options.customCellStyleArrangement) && void 0 !== _o ? _o : []);
934
+ internalProps.customMergeCell = getCustomMergeCellFunc(options.customMergeCell),
935
+ null === (_l = this.customCellStylePlugin) || void 0 === _l || _l.updateCustomCell(null !== (_m = options.customCellStyle) && void 0 !== _m ? _m : [], null !== (_o = options.customCellStyleArrangement) && void 0 !== _o ? _o : []);
905
936
  }
906
937
  renderWithRecreateCells() {
907
938
  const oldHoverState = {
@@ -1799,5 +1830,8 @@ export class BaseTable extends EventTarget {
1799
1830
  }
1800
1831
  this.render();
1801
1832
  }
1833
+ checkHasColumnAutoWidth() {
1834
+ return checkHasColumnAutoWidth(this);
1835
+ }
1802
1836
  }
1803
1837
  //# sourceMappingURL=BaseTable.js.map