@visactor/vtable 0.18.0-alpha.0 → 0.18.0-alpha.2

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 (581) hide show
  1. package/cjs/ListTable.d.ts +3 -0
  2. package/cjs/ListTable.js +74 -16
  3. package/cjs/ListTable.js.map +1 -1
  4. package/cjs/PivotChart.d.ts +2 -4
  5. package/cjs/PivotChart.js +42 -17
  6. package/cjs/PivotChart.js.map +1 -1
  7. package/cjs/PivotTable.d.ts +5 -0
  8. package/cjs/PivotTable.js +109 -14
  9. package/cjs/PivotTable.js.map +1 -1
  10. package/cjs/body-helper/body-helper.js +2 -1
  11. package/cjs/body-helper/body-helper.js.map +1 -1
  12. package/cjs/components/axis/axis.js +4 -1
  13. package/cjs/components/axis/axis.js.map +1 -1
  14. package/cjs/components/axis/get-axis-attributes.d.ts +1 -0
  15. package/cjs/components/axis/get-axis-attributes.js +2 -1
  16. package/cjs/components/axis/get-axis-attributes.js.map +1 -1
  17. package/cjs/components/axis/label-overlap.js.map +1 -1
  18. package/cjs/components/axis/linear-scale.js +1 -0
  19. package/cjs/components/axis/linear-scale.js.map +1 -1
  20. package/cjs/components/tooltip/TooltipHandler.js +2 -5
  21. package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
  22. package/cjs/core/BaseTable.d.ts +24 -4
  23. package/cjs/core/BaseTable.js +83 -52
  24. package/cjs/core/BaseTable.js.map +1 -1
  25. package/cjs/core/style.js +1 -2
  26. package/cjs/core/tableHelper.d.ts +3 -2
  27. package/cjs/core/tableHelper.js +20 -7
  28. package/cjs/core/tableHelper.js.map +1 -1
  29. package/cjs/dataset/dataset.js +8 -13
  30. package/cjs/dataset/dataset.js.map +1 -1
  31. package/cjs/edit/edit-manager.d.ts +1 -1
  32. package/cjs/edit/edit-manager.js +9 -12
  33. package/cjs/edit/edit-manager.js.map +1 -1
  34. package/cjs/event/EventHandler.d.ts +1 -0
  35. package/cjs/event/EventHandler.js +1 -1
  36. package/cjs/event/EventHandler.js.map +1 -1
  37. package/cjs/event/event.d.ts +12 -1
  38. package/cjs/event/event.js +8 -3
  39. package/cjs/event/event.js.map +1 -1
  40. package/cjs/event/listener/container-dom.js +51 -8
  41. package/cjs/event/listener/container-dom.js.map +1 -1
  42. package/cjs/event/listener/scroll-bar.js +24 -8
  43. package/cjs/event/listener/scroll-bar.js.map +1 -1
  44. package/cjs/event/listener/table-group.js +50 -42
  45. package/cjs/event/listener/table-group.js.map +1 -1
  46. package/cjs/event/listener/touch.js.map +1 -1
  47. package/cjs/event/media-click.js +5 -2
  48. package/cjs/event/media-click.js.map +1 -1
  49. package/cjs/event/pivot-chart/axis-click.js.map +1 -1
  50. package/cjs/event/scroll.js +1 -0
  51. package/cjs/event/util.d.ts +1 -1
  52. package/cjs/event/util.js.map +1 -1
  53. package/cjs/index.d.ts +5 -2
  54. package/cjs/index.js +29 -2
  55. package/cjs/index.js.map +1 -1
  56. package/cjs/layout/chart-helper/get-chart-spec.d.ts +1 -0
  57. package/cjs/layout/chart-helper/get-chart-spec.js +13 -2
  58. package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
  59. package/cjs/layout/pivot-header-layout.d.ts +5 -4
  60. package/cjs/layout/pivot-header-layout.js +20 -16
  61. package/cjs/layout/pivot-header-layout.js.map +1 -1
  62. package/cjs/layout/pivot-layout-helper.d.ts +1 -0
  63. package/cjs/layout/pivot-layout-helper.js +16 -6
  64. package/cjs/layout/pivot-layout-helper.js.map +1 -1
  65. package/cjs/layout/simple-header-layout.d.ts +6 -4
  66. package/cjs/layout/simple-header-layout.js +44 -13
  67. package/cjs/layout/simple-header-layout.js.map +1 -1
  68. package/cjs/render/jsx/index.d.ts +2 -3
  69. package/cjs/render/jsx/index.js +1 -1
  70. package/cjs/render/jsx/index.js.map +1 -1
  71. package/cjs/render/layout/arc.d.ts +2 -2
  72. package/cjs/render/layout/arc.js +1 -1
  73. package/cjs/render/layout/arc.js.map +1 -1
  74. package/cjs/render/layout/circle.d.ts +2 -2
  75. package/cjs/render/layout/circle.js +1 -1
  76. package/cjs/render/layout/circle.js.map +1 -1
  77. package/cjs/render/layout/container.d.ts +2 -2
  78. package/cjs/render/layout/container.js +1 -1
  79. package/cjs/render/layout/container.js.map +1 -1
  80. package/cjs/render/layout/group.d.ts +2 -2
  81. package/cjs/render/layout/group.js +1 -1
  82. package/cjs/render/layout/group.js.map +1 -1
  83. package/cjs/render/layout/icon.d.ts +2 -2
  84. package/cjs/render/layout/icon.js +1 -1
  85. package/cjs/render/layout/icon.js.map +1 -1
  86. package/cjs/render/layout/image.d.ts +2 -2
  87. package/cjs/render/layout/image.js +1 -1
  88. package/cjs/render/layout/image.js.map +1 -1
  89. package/cjs/render/layout/rect.d.ts +2 -2
  90. package/cjs/render/layout/rect.js +1 -1
  91. package/cjs/render/layout/rect.js.map +1 -1
  92. package/cjs/render/layout/text.d.ts +3 -3
  93. package/cjs/render/layout/text.js +2 -2
  94. package/cjs/render/layout/text.js.map +1 -1
  95. package/cjs/scenegraph/component/cell-content.d.ts +4 -4
  96. package/cjs/scenegraph/component/cell-content.js +7 -6
  97. package/cjs/scenegraph/component/cell-content.js.map +1 -1
  98. package/cjs/scenegraph/component/cell-mover.d.ts +1 -1
  99. package/cjs/scenegraph/component/cell-mover.js +1 -1
  100. package/cjs/scenegraph/component/cell-mover.js.map +1 -1
  101. package/cjs/scenegraph/component/custom.d.ts +1 -1
  102. package/cjs/scenegraph/component/custom.js +34 -17
  103. package/cjs/scenegraph/component/custom.js.map +1 -1
  104. package/cjs/scenegraph/component/drill-icon.js.map +1 -1
  105. package/cjs/scenegraph/component/menu.d.ts +1 -1
  106. package/cjs/scenegraph/component/menu.js +1 -1
  107. package/cjs/scenegraph/component/menu.js.map +1 -1
  108. package/cjs/scenegraph/component/table-component.d.ts +1 -1
  109. package/cjs/scenegraph/component/table-component.js +13 -12
  110. package/cjs/scenegraph/component/table-component.js.map +1 -1
  111. package/cjs/scenegraph/debug-tool/debug-tool.d.ts +1 -1
  112. package/cjs/scenegraph/debug-tool/debug-tool.js +1 -1
  113. package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
  114. package/cjs/scenegraph/debug-tool/index.d.ts +1 -1
  115. package/cjs/scenegraph/debug-tool/index.js.map +1 -1
  116. package/cjs/scenegraph/graphic/chart.d.ts +2 -2
  117. package/cjs/scenegraph/graphic/chart.js +12 -5
  118. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  119. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +5 -5
  120. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  121. package/cjs/scenegraph/graphic/contributions/chart-render.d.ts +1 -1
  122. package/cjs/scenegraph/graphic/contributions/chart-render.js +1 -1
  123. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  124. package/cjs/scenegraph/graphic/contributions/group-contribution-render.d.ts +18 -3
  125. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +62 -6
  126. package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  127. package/cjs/scenegraph/graphic/contributions/image-contribution-render.d.ts +2 -2
  128. package/cjs/scenegraph/graphic/contributions/image-contribution-render.js +1 -1
  129. package/cjs/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
  130. package/cjs/scenegraph/graphic/contributions/index.d.ts +1 -1
  131. package/cjs/scenegraph/graphic/contributions/index.js +6 -2
  132. package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
  133. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.d.ts +2 -2
  134. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
  135. package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  136. package/cjs/scenegraph/graphic/group.d.ts +4 -2
  137. package/cjs/scenegraph/graphic/group.js +4 -2
  138. package/cjs/scenegraph/graphic/group.js.map +1 -1
  139. package/cjs/scenegraph/graphic/icon.d.ts +2 -2
  140. package/cjs/scenegraph/graphic/icon.js +1 -1
  141. package/cjs/scenegraph/graphic/icon.js.map +1 -1
  142. package/cjs/scenegraph/graphic/text.d.ts +2 -2
  143. package/cjs/scenegraph/graphic/text.js +2 -2
  144. package/cjs/scenegraph/graphic/text.js.map +1 -1
  145. package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -1
  146. package/cjs/scenegraph/group-creater/cell-helper.js +16 -11
  147. package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
  148. package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  149. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +2 -1
  150. package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  151. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +1 -1
  152. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +5 -3
  153. package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  154. package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  155. package/cjs/scenegraph/group-creater/cell-type/image-cell.js +44 -19
  156. package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  157. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +1 -1
  158. package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  159. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -1
  160. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +3 -2
  161. package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  162. package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  163. package/cjs/scenegraph/group-creater/cell-type/text-cell.js +3 -2
  164. package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  165. package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  166. package/cjs/scenegraph/group-creater/cell-type/video-cell.js +3 -2
  167. package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  168. package/cjs/scenegraph/group-creater/column-helper.d.ts +5 -2
  169. package/cjs/scenegraph/group-creater/column-helper.js +8 -3
  170. package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
  171. package/cjs/scenegraph/group-creater/init-scenegraph.js +11 -11
  172. package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  173. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +4 -3
  174. package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  175. package/cjs/scenegraph/group-creater/progress/proxy.js +7 -6
  176. package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
  177. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
  178. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  179. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +4 -3
  180. package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  181. package/cjs/scenegraph/icon/icon-update.d.ts +2 -0
  182. package/cjs/scenegraph/icon/icon-update.js +19 -4
  183. package/cjs/scenegraph/icon/icon-update.js.map +1 -1
  184. package/cjs/scenegraph/layout/compute-col-width.js +12 -9
  185. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  186. package/cjs/scenegraph/layout/compute-row-height.js +24 -14
  187. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  188. package/cjs/scenegraph/layout/frozen.js +3 -1
  189. package/cjs/scenegraph/layout/frozen.js.map +1 -1
  190. package/cjs/scenegraph/layout/move-cell.js.map +1 -1
  191. package/cjs/scenegraph/layout/update-col.js +6 -5
  192. package/cjs/scenegraph/layout/update-col.js.map +1 -1
  193. package/cjs/scenegraph/layout/update-height.d.ts +1 -1
  194. package/cjs/scenegraph/layout/update-height.js +7 -5
  195. package/cjs/scenegraph/layout/update-height.js.map +1 -1
  196. package/cjs/scenegraph/layout/update-row.js +50 -14
  197. package/cjs/scenegraph/layout/update-row.js.map +1 -1
  198. package/cjs/scenegraph/layout/update-width.d.ts +1 -1
  199. package/cjs/scenegraph/layout/update-width.js +12 -11
  200. package/cjs/scenegraph/layout/update-width.js.map +1 -1
  201. package/cjs/scenegraph/refresh-node/update-chart.js +11 -1
  202. package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
  203. package/cjs/scenegraph/scenegraph.d.ts +7 -3
  204. package/cjs/scenegraph/scenegraph.js +54 -60
  205. package/cjs/scenegraph/scenegraph.js.map +1 -1
  206. package/cjs/scenegraph/select/create-select-border.js +1 -1
  207. package/cjs/scenegraph/select/create-select-border.js.map +1 -1
  208. package/cjs/scenegraph/select/delete-select-border.js.map +1 -1
  209. package/cjs/scenegraph/select/update-select-border.js +34 -17
  210. package/cjs/scenegraph/select/update-select-border.js.map +1 -1
  211. package/cjs/scenegraph/stick-text/index.js +9 -4
  212. package/cjs/scenegraph/stick-text/index.js.map +1 -1
  213. package/cjs/scenegraph/style/corner-cell.js.map +1 -1
  214. package/cjs/scenegraph/style/frame-border.d.ts +3 -1
  215. package/cjs/scenegraph/style/frame-border.js +21 -3
  216. package/cjs/scenegraph/style/frame-border.js.map +1 -1
  217. package/cjs/scenegraph/utils/get-cell-merge.js +1 -1
  218. package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
  219. package/cjs/scenegraph/utils/padding.js +1 -1
  220. package/cjs/scenegraph/utils/padding.js.map +1 -1
  221. package/cjs/scenegraph/utils/render-service.d.ts +1 -1
  222. package/cjs/scenegraph/utils/render-service.js +1 -1
  223. package/cjs/scenegraph/utils/render-service.js.map +1 -1
  224. package/cjs/scenegraph/utils/text-icon-layout.d.ts +1 -1
  225. package/cjs/scenegraph/utils/text-icon-layout.js +13 -10
  226. package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
  227. package/cjs/scenegraph/utils/text-measure.d.ts +2 -2
  228. package/cjs/scenegraph/utils/text-measure.js +1 -1
  229. package/cjs/scenegraph/utils/text-measure.js.map +1 -1
  230. package/cjs/scenegraph/utils/text-pos.d.ts +1 -1
  231. package/cjs/scenegraph/utils/text-pos.js.map +1 -1
  232. package/cjs/state/cell-move/adjust-header.js.map +1 -1
  233. package/cjs/state/cell-move/index.js +2 -1
  234. package/cjs/state/cell-move/index.js.map +1 -1
  235. package/cjs/state/select/update-position.js +60 -65
  236. package/cjs/state/select/update-position.js.map +1 -1
  237. package/cjs/state/spark-line/index.js +10 -6
  238. package/cjs/state/spark-line/index.js.map +1 -1
  239. package/cjs/state/state.d.ts +1 -1
  240. package/cjs/state/state.js +12 -16
  241. package/cjs/state/state.js.map +1 -1
  242. package/cjs/themes/ARCO.js +7 -2
  243. package/cjs/themes/ARCO.js.map +1 -1
  244. package/cjs/themes/BRIGHT.js +8 -1
  245. package/cjs/themes/BRIGHT.js.map +1 -1
  246. package/cjs/themes/DARK.js +7 -1
  247. package/cjs/themes/DARK.js.map +1 -1
  248. package/cjs/themes/DEFAULT.js +6 -0
  249. package/cjs/themes/DEFAULT.js.map +1 -1
  250. package/cjs/themes/SIMPLIFY.js +6 -0
  251. package/cjs/themes/SIMPLIFY.js.map +1 -1
  252. package/cjs/themes/component.d.ts +27 -0
  253. package/cjs/themes/component.js +29 -2
  254. package/cjs/themes/component.js.map +1 -1
  255. package/cjs/themes/theme.d.ts +2 -0
  256. package/cjs/themes/theme.js +29 -1
  257. package/cjs/themes/theme.js.map +1 -1
  258. package/cjs/tools/NumberMap.d.ts +4 -0
  259. package/cjs/tools/NumberMap.js +17 -1
  260. package/cjs/tools/NumberMap.js.map +1 -1
  261. package/cjs/ts-types/base-table.d.ts +10 -3
  262. package/cjs/ts-types/base-table.js.map +1 -1
  263. package/cjs/ts-types/common.d.ts +1 -0
  264. package/cjs/ts-types/common.js.map +1 -1
  265. package/cjs/ts-types/component/title.d.ts +1 -1
  266. package/cjs/ts-types/component/title.js.map +1 -1
  267. package/cjs/ts-types/customElement.d.ts +1 -1
  268. package/cjs/ts-types/customElement.js.map +1 -1
  269. package/cjs/ts-types/customLayout.d.ts +1 -1
  270. package/cjs/ts-types/customLayout.js.map +1 -1
  271. package/cjs/ts-types/events.d.ts +3 -4
  272. package/cjs/ts-types/events.js.map +1 -1
  273. package/cjs/ts-types/list-table/define/basic-define.d.ts +5 -1
  274. package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
  275. package/cjs/ts-types/list-table/define/image-define.d.ts +2 -0
  276. package/cjs/ts-types/list-table/define/image-define.js.map +1 -1
  277. package/cjs/ts-types/list-table/define/multilinetext-define.d.ts +0 -1
  278. package/cjs/ts-types/list-table/define/multilinetext-define.js.map +1 -1
  279. package/cjs/ts-types/pivot-table/dimension/image-dimension.d.ts +1 -0
  280. package/cjs/ts-types/pivot-table/dimension/image-dimension.js.map +1 -1
  281. package/cjs/ts-types/pivot-table/indicator/image-indicator.d.ts +2 -0
  282. package/cjs/ts-types/pivot-table/indicator/image-indicator.js.map +1 -1
  283. package/cjs/ts-types/table-engine.d.ts +17 -0
  284. package/cjs/ts-types/table-engine.js.map +1 -1
  285. package/cjs/ts-types/theme.d.ts +7 -0
  286. package/cjs/ts-types/theme.js.map +1 -1
  287. package/cjs/vrender.d.ts +4 -0
  288. package/cjs/vrender.js +40 -0
  289. package/cjs/vrender.js.map +1 -0
  290. package/dist/vtable.js +28869 -46496
  291. package/dist/vtable.min.js +2 -2
  292. package/es/ListTable.d.ts +3 -0
  293. package/es/ListTable.js +73 -16
  294. package/es/ListTable.js.map +1 -1
  295. package/es/PivotChart.d.ts +2 -4
  296. package/es/PivotChart.js +42 -17
  297. package/es/PivotChart.js.map +1 -1
  298. package/es/PivotTable.d.ts +5 -0
  299. package/es/PivotTable.js +109 -14
  300. package/es/PivotTable.js.map +1 -1
  301. package/es/body-helper/body-helper.js +2 -1
  302. package/es/body-helper/body-helper.js.map +1 -1
  303. package/es/components/axis/axis.js +4 -1
  304. package/es/components/axis/axis.js.map +1 -1
  305. package/es/components/axis/get-axis-attributes.d.ts +1 -0
  306. package/es/components/axis/get-axis-attributes.js +2 -1
  307. package/es/components/axis/get-axis-attributes.js.map +1 -1
  308. package/es/components/axis/label-overlap.js.map +1 -1
  309. package/es/components/axis/linear-scale.js +1 -0
  310. package/es/components/axis/linear-scale.js.map +1 -1
  311. package/es/components/tooltip/TooltipHandler.js +2 -5
  312. package/es/components/tooltip/TooltipHandler.js.map +1 -1
  313. package/es/core/BaseTable.d.ts +24 -4
  314. package/es/core/BaseTable.js +87 -55
  315. package/es/core/BaseTable.js.map +1 -1
  316. package/es/core/style.js +1 -2
  317. package/es/core/tableHelper.d.ts +3 -2
  318. package/es/core/tableHelper.js +19 -6
  319. package/es/core/tableHelper.js.map +1 -1
  320. package/es/dataset/dataset.js +8 -13
  321. package/es/dataset/dataset.js.map +1 -1
  322. package/es/edit/edit-manager.d.ts +1 -1
  323. package/es/edit/edit-manager.js +9 -12
  324. package/es/edit/edit-manager.js.map +1 -1
  325. package/es/event/EventHandler.d.ts +1 -0
  326. package/es/event/EventHandler.js +1 -1
  327. package/es/event/EventHandler.js.map +1 -1
  328. package/es/event/event.d.ts +12 -1
  329. package/es/event/event.js +8 -3
  330. package/es/event/event.js.map +1 -1
  331. package/es/event/listener/container-dom.js +51 -8
  332. package/es/event/listener/container-dom.js.map +1 -1
  333. package/es/event/listener/scroll-bar.js +24 -8
  334. package/es/event/listener/scroll-bar.js.map +1 -1
  335. package/es/event/listener/table-group.js +50 -42
  336. package/es/event/listener/table-group.js.map +1 -1
  337. package/es/event/listener/touch.js.map +1 -1
  338. package/es/event/media-click.js +5 -2
  339. package/es/event/media-click.js.map +1 -1
  340. package/es/event/pivot-chart/axis-click.js.map +1 -1
  341. package/es/event/scroll.js +2 -1
  342. package/es/event/util.d.ts +1 -1
  343. package/es/event/util.js.map +1 -1
  344. package/es/index.d.ts +5 -2
  345. package/es/index.js +10 -2
  346. package/es/index.js.map +1 -1
  347. package/es/layout/chart-helper/get-chart-spec.d.ts +1 -0
  348. package/es/layout/chart-helper/get-chart-spec.js +11 -0
  349. package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
  350. package/es/layout/pivot-header-layout.d.ts +5 -4
  351. package/es/layout/pivot-header-layout.js +20 -16
  352. package/es/layout/pivot-header-layout.js.map +1 -1
  353. package/es/layout/pivot-layout-helper.d.ts +1 -0
  354. package/es/layout/pivot-layout-helper.js +16 -6
  355. package/es/layout/pivot-layout-helper.js.map +1 -1
  356. package/es/layout/simple-header-layout.d.ts +6 -4
  357. package/es/layout/simple-header-layout.js +45 -14
  358. package/es/layout/simple-header-layout.js.map +1 -1
  359. package/es/render/jsx/index.d.ts +2 -3
  360. package/es/render/jsx/index.js +1 -1
  361. package/es/render/jsx/index.js.map +1 -1
  362. package/es/render/layout/arc.d.ts +2 -2
  363. package/es/render/layout/arc.js +1 -1
  364. package/es/render/layout/arc.js.map +1 -1
  365. package/es/render/layout/circle.d.ts +2 -2
  366. package/es/render/layout/circle.js +1 -1
  367. package/es/render/layout/circle.js.map +1 -1
  368. package/es/render/layout/container.d.ts +2 -2
  369. package/es/render/layout/container.js +1 -1
  370. package/es/render/layout/container.js.map +1 -1
  371. package/es/render/layout/group.d.ts +2 -2
  372. package/es/render/layout/group.js +1 -1
  373. package/es/render/layout/group.js.map +1 -1
  374. package/es/render/layout/icon.d.ts +2 -2
  375. package/es/render/layout/icon.js +1 -1
  376. package/es/render/layout/icon.js.map +1 -1
  377. package/es/render/layout/image.d.ts +2 -2
  378. package/es/render/layout/image.js +1 -1
  379. package/es/render/layout/image.js.map +1 -1
  380. package/es/render/layout/rect.d.ts +2 -2
  381. package/es/render/layout/rect.js +1 -1
  382. package/es/render/layout/rect.js.map +1 -1
  383. package/es/render/layout/text.d.ts +3 -3
  384. package/es/render/layout/text.js +2 -2
  385. package/es/render/layout/text.js.map +1 -1
  386. package/es/scenegraph/component/cell-content.d.ts +4 -4
  387. package/es/scenegraph/component/cell-content.js +7 -8
  388. package/es/scenegraph/component/cell-content.js.map +1 -1
  389. package/es/scenegraph/component/cell-mover.d.ts +1 -1
  390. package/es/scenegraph/component/cell-mover.js +1 -1
  391. package/es/scenegraph/component/cell-mover.js.map +1 -1
  392. package/es/scenegraph/component/custom.d.ts +1 -1
  393. package/es/scenegraph/component/custom.js +35 -20
  394. package/es/scenegraph/component/custom.js.map +1 -1
  395. package/es/scenegraph/component/drill-icon.js.map +1 -1
  396. package/es/scenegraph/component/menu.d.ts +1 -1
  397. package/es/scenegraph/component/menu.js +1 -1
  398. package/es/scenegraph/component/menu.js.map +1 -1
  399. package/es/scenegraph/component/table-component.d.ts +1 -1
  400. package/es/scenegraph/component/table-component.js +13 -12
  401. package/es/scenegraph/component/table-component.js.map +1 -1
  402. package/es/scenegraph/debug-tool/debug-tool.d.ts +1 -1
  403. package/es/scenegraph/debug-tool/debug-tool.js +1 -1
  404. package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
  405. package/es/scenegraph/debug-tool/index.d.ts +1 -1
  406. package/es/scenegraph/debug-tool/index.js.map +1 -1
  407. package/es/scenegraph/graphic/chart.d.ts +2 -2
  408. package/es/scenegraph/graphic/chart.js +12 -5
  409. package/es/scenegraph/graphic/chart.js.map +1 -1
  410. package/es/scenegraph/graphic/contributions/chart-render-helper.js +5 -5
  411. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  412. package/es/scenegraph/graphic/contributions/chart-render.d.ts +1 -1
  413. package/es/scenegraph/graphic/contributions/chart-render.js +1 -1
  414. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  415. package/es/scenegraph/graphic/contributions/group-contribution-render.d.ts +18 -3
  416. package/es/scenegraph/graphic/contributions/group-contribution-render.js +58 -3
  417. package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
  418. package/es/scenegraph/graphic/contributions/image-contribution-render.d.ts +2 -2
  419. package/es/scenegraph/graphic/contributions/image-contribution-render.js +1 -1
  420. package/es/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
  421. package/es/scenegraph/graphic/contributions/index.d.ts +1 -1
  422. package/es/scenegraph/graphic/contributions/index.js +5 -3
  423. package/es/scenegraph/graphic/contributions/index.js.map +1 -1
  424. package/es/scenegraph/graphic/contributions/rect-contribution-render.d.ts +2 -2
  425. package/es/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
  426. package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
  427. package/es/scenegraph/graphic/group.d.ts +4 -2
  428. package/es/scenegraph/graphic/group.js +4 -2
  429. package/es/scenegraph/graphic/group.js.map +1 -1
  430. package/es/scenegraph/graphic/icon.d.ts +2 -2
  431. package/es/scenegraph/graphic/icon.js +1 -1
  432. package/es/scenegraph/graphic/icon.js.map +1 -1
  433. package/es/scenegraph/graphic/text.d.ts +2 -2
  434. package/es/scenegraph/graphic/text.js +1 -1
  435. package/es/scenegraph/graphic/text.js.map +1 -1
  436. package/es/scenegraph/group-creater/cell-helper.d.ts +1 -1
  437. package/es/scenegraph/group-creater/cell-helper.js +13 -10
  438. package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
  439. package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
  440. package/es/scenegraph/group-creater/cell-type/chart-cell.js +2 -1
  441. package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
  442. package/es/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +1 -1
  443. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +5 -3
  444. package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
  445. package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
  446. package/es/scenegraph/group-creater/cell-type/image-cell.js +39 -17
  447. package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
  448. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +1 -1
  449. package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
  450. package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -1
  451. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +3 -2
  452. package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
  453. package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
  454. package/es/scenegraph/group-creater/cell-type/text-cell.js +3 -2
  455. package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
  456. package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
  457. package/es/scenegraph/group-creater/cell-type/video-cell.js +3 -2
  458. package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
  459. package/es/scenegraph/group-creater/column-helper.d.ts +5 -2
  460. package/es/scenegraph/group-creater/column-helper.js +10 -5
  461. package/es/scenegraph/group-creater/column-helper.js.map +1 -1
  462. package/es/scenegraph/group-creater/init-scenegraph.js +11 -11
  463. package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -1
  464. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +3 -2
  465. package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
  466. package/es/scenegraph/group-creater/progress/proxy.js +6 -6
  467. package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
  468. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
  469. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
  470. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +5 -4
  471. package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
  472. package/es/scenegraph/icon/icon-update.d.ts +2 -0
  473. package/es/scenegraph/icon/icon-update.js +16 -2
  474. package/es/scenegraph/icon/icon-update.js.map +1 -1
  475. package/es/scenegraph/layout/compute-col-width.js +12 -9
  476. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  477. package/es/scenegraph/layout/compute-row-height.js +25 -17
  478. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  479. package/es/scenegraph/layout/frozen.js +3 -1
  480. package/es/scenegraph/layout/frozen.js.map +1 -1
  481. package/es/scenegraph/layout/move-cell.js.map +1 -1
  482. package/es/scenegraph/layout/update-col.js +6 -5
  483. package/es/scenegraph/layout/update-col.js.map +1 -1
  484. package/es/scenegraph/layout/update-height.d.ts +1 -1
  485. package/es/scenegraph/layout/update-height.js +7 -5
  486. package/es/scenegraph/layout/update-height.js.map +1 -1
  487. package/es/scenegraph/layout/update-row.js +50 -14
  488. package/es/scenegraph/layout/update-row.js.map +1 -1
  489. package/es/scenegraph/layout/update-width.d.ts +1 -1
  490. package/es/scenegraph/layout/update-width.js +12 -11
  491. package/es/scenegraph/layout/update-width.js.map +1 -1
  492. package/es/scenegraph/refresh-node/update-chart.js +11 -1
  493. package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
  494. package/es/scenegraph/scenegraph.d.ts +7 -3
  495. package/es/scenegraph/scenegraph.js +54 -58
  496. package/es/scenegraph/scenegraph.js.map +1 -1
  497. package/es/scenegraph/select/create-select-border.js +1 -1
  498. package/es/scenegraph/select/create-select-border.js.map +1 -1
  499. package/es/scenegraph/select/delete-select-border.js.map +1 -1
  500. package/es/scenegraph/select/update-select-border.js +34 -17
  501. package/es/scenegraph/select/update-select-border.js.map +1 -1
  502. package/es/scenegraph/stick-text/index.js +9 -4
  503. package/es/scenegraph/stick-text/index.js.map +1 -1
  504. package/es/scenegraph/style/corner-cell.js.map +1 -1
  505. package/es/scenegraph/style/frame-border.d.ts +3 -1
  506. package/es/scenegraph/style/frame-border.js +18 -1
  507. package/es/scenegraph/style/frame-border.js.map +1 -1
  508. package/es/scenegraph/utils/get-cell-merge.js +1 -1
  509. package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
  510. package/es/scenegraph/utils/padding.js +1 -1
  511. package/es/scenegraph/utils/padding.js.map +1 -1
  512. package/es/scenegraph/utils/render-service.d.ts +1 -1
  513. package/es/scenegraph/utils/render-service.js +1 -1
  514. package/es/scenegraph/utils/render-service.js.map +1 -1
  515. package/es/scenegraph/utils/text-icon-layout.d.ts +1 -1
  516. package/es/scenegraph/utils/text-icon-layout.js +13 -12
  517. package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
  518. package/es/scenegraph/utils/text-measure.d.ts +2 -2
  519. package/es/scenegraph/utils/text-measure.js +1 -1
  520. package/es/scenegraph/utils/text-measure.js.map +1 -1
  521. package/es/scenegraph/utils/text-pos.d.ts +1 -1
  522. package/es/scenegraph/utils/text-pos.js.map +1 -1
  523. package/es/state/cell-move/adjust-header.js.map +1 -1
  524. package/es/state/cell-move/index.js +2 -1
  525. package/es/state/cell-move/index.js.map +1 -1
  526. package/es/state/select/update-position.js +60 -65
  527. package/es/state/select/update-position.js.map +1 -1
  528. package/es/state/spark-line/index.js +10 -6
  529. package/es/state/spark-line/index.js.map +1 -1
  530. package/es/state/state.d.ts +1 -1
  531. package/es/state/state.js +14 -17
  532. package/es/state/state.js.map +1 -1
  533. package/es/themes/ARCO.js +7 -2
  534. package/es/themes/ARCO.js.map +1 -1
  535. package/es/themes/BRIGHT.js +8 -1
  536. package/es/themes/BRIGHT.js.map +1 -1
  537. package/es/themes/DARK.js +7 -1
  538. package/es/themes/DARK.js.map +1 -1
  539. package/es/themes/DEFAULT.js +6 -0
  540. package/es/themes/DEFAULT.js.map +1 -1
  541. package/es/themes/SIMPLIFY.js +6 -0
  542. package/es/themes/SIMPLIFY.js.map +1 -1
  543. package/es/themes/component.d.ts +27 -0
  544. package/es/themes/component.js +28 -0
  545. package/es/themes/component.js.map +1 -1
  546. package/es/themes/theme.d.ts +2 -0
  547. package/es/themes/theme.js +29 -2
  548. package/es/themes/theme.js.map +1 -1
  549. package/es/tools/NumberMap.d.ts +4 -0
  550. package/es/tools/NumberMap.js +17 -1
  551. package/es/tools/NumberMap.js.map +1 -1
  552. package/es/ts-types/base-table.d.ts +10 -3
  553. package/es/ts-types/base-table.js.map +1 -1
  554. package/es/ts-types/common.d.ts +1 -0
  555. package/es/ts-types/common.js.map +1 -1
  556. package/es/ts-types/component/title.d.ts +1 -1
  557. package/es/ts-types/component/title.js.map +1 -1
  558. package/es/ts-types/customElement.d.ts +1 -1
  559. package/es/ts-types/customElement.js.map +1 -1
  560. package/es/ts-types/customLayout.d.ts +1 -1
  561. package/es/ts-types/customLayout.js.map +1 -1
  562. package/es/ts-types/events.d.ts +3 -4
  563. package/es/ts-types/events.js.map +1 -1
  564. package/es/ts-types/list-table/define/basic-define.d.ts +5 -1
  565. package/es/ts-types/list-table/define/basic-define.js.map +1 -1
  566. package/es/ts-types/list-table/define/image-define.d.ts +2 -0
  567. package/es/ts-types/list-table/define/image-define.js.map +1 -1
  568. package/es/ts-types/list-table/define/multilinetext-define.d.ts +0 -1
  569. package/es/ts-types/list-table/define/multilinetext-define.js.map +1 -1
  570. package/es/ts-types/pivot-table/dimension/image-dimension.d.ts +1 -0
  571. package/es/ts-types/pivot-table/dimension/image-dimension.js.map +1 -1
  572. package/es/ts-types/pivot-table/indicator/image-indicator.d.ts +2 -0
  573. package/es/ts-types/pivot-table/indicator/image-indicator.js.map +1 -1
  574. package/es/ts-types/table-engine.d.ts +17 -0
  575. package/es/ts-types/table-engine.js.map +1 -1
  576. package/es/ts-types/theme.d.ts +7 -0
  577. package/es/ts-types/theme.js.map +1 -1
  578. package/es/vrender.d.ts +4 -0
  579. package/es/vrender.js +22 -0
  580. package/es/vrender.js.map +1 -0
  581. package/package.json +13 -12
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/base-table.ts"],"names":[],"mappings":"","file":"base-table.js","sourcesContent":["import type { ITextSize } from '@visactor/vutils';\nimport type { RectProps, MaybePromiseOrUndefined, ICellHeaderPaths, CellInfo } from './common';\nimport type {\n TableEventListener,\n TableEventHandlersEventArgumentMap,\n TableEventHandlersReturnMap,\n EventListenerId,\n MousePointerCellEvent\n} from './events';\nimport type { MenuListItem, DropDownMenuEventInfo, DropDownMenuHighlightInfo } from './menu';\nimport type { CellStyle } from './style-define';\nimport type { ColumnIconOption } from './icon';\nimport type { ColumnData, ColumnDefine, ColumnsDefine, HeaderData, IndicatorData } from './list-table/layout-map/api';\nexport type { HeaderData } from './list-table/layout-map/api';\nimport type { TableTheme } from '../themes/theme';\nimport type { ICustomRender } from './customElement';\nexport type LayoutObjectId = number | string;\nimport type { Rect } from '../tools/Rect';\nimport type { Scenegraph } from '../scenegraph/scenegraph';\nimport type { StateManager } from '../state/state';\nimport type { EventManager } from '../event/event';\nimport type {\n CellAddress,\n CellRange,\n CellLocation,\n ColumnTypeOption,\n DataSourceAPI,\n FieldData,\n FieldDef,\n FieldFormat,\n FullExtendStyle,\n HeaderValues,\n HeightModeDef,\n HierarchyState,\n IDataConfig,\n IPagination,\n ITableThemeDefine,\n SortState,\n TableKeyboardOptions,\n WidthModeDef,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n StickCell,\n CustomMergeCell,\n CustomMerge,\n IColumnDimension,\n IRowDimension\n} from '.';\nimport type { TooltipOptions } from './tooltip';\nimport type { IWrapTextGraphicAttribute } from '../scenegraph/graphic/text';\nimport type { ICustomLayout } from './customLayout';\nimport type { CachedDataSource, DataSource } from '../data';\nimport type { MenuHandler } from '../components/menu/dom/MenuHandler';\nimport type { PivotHeaderLayoutMap } from '../layout/pivot-header-layout';\nimport type { SimpleHeaderLayoutMap } from '../layout';\nimport type { TooltipHandler } from '../components/tooltip/TooltipHandler';\nimport type { BodyHelper } from '../body-helper/body-helper';\nimport type { HeaderHelper } from '../header-helper/header-helper';\nimport type { EventHandler } from '../event/EventHandler';\nimport type { NumberMap } from '../tools/NumberMap';\nimport type { FocusInput } from '../core/FouseInput';\nimport type { ITableLegendOption } from './component/legend';\nimport type { DataSet } from '@visactor/vdataset';\nimport type { Title } from '../components/title/title';\nimport type { ITitle } from './component/title';\nimport type { DiscreteTableLegend } from '../components/legend/discrete-legend/discrete-legend';\nimport type { ContinueTableLegend } from '../components/legend/continue-legend/continue-legend';\n\nexport interface IBaseTableProtected {\n element: HTMLElement;\n // scrollable: Scrollable;\n handler: EventHandler;\n focusControl: FocusInput;\n canvas: HTMLCanvasElement;\n context: CanvasRenderingContext2D;\n rowCount: number;\n colCount: number;\n frozenColCount: number;\n allowFrozenColCount: number;\n\n frozenRowCount: number;\n rightFrozenColCount: number;\n bottomFrozenRowCount: number;\n defaultRowHeight: number;\n /**表头默认行高 可以按逐行设置 如果没有就取defaultRowHeight */\n defaultHeaderRowHeight: (number | 'auto') | (number | 'auto')[];\n defaultColWidth: number;\n defaultHeaderColWidth: (number | 'auto') | (number | 'auto')[];\n // font?: string;\n // underlayBackgroundColor?: string;\n keyboardOptions?: TableKeyboardOptions;\n\n // disableRowHeaderColumnResize?: boolean;\n // 列宽调整模式(全列调整;全列不可调整;仅表头单元格可调整;仅内容单元格可调整)\n columnResizeMode?: 'all' | 'none' | 'header' | 'body';\n columnResizeType?: 'column' | 'indicator' | 'all' | 'indicatorGroup';\n /** 控制拖拽表头移动位置顺序开关 */\n dragHeaderMode?: 'all' | 'none' | 'column' | 'row';\n\n cachedRecordsRowHeightMap: NumberMap<string | number>; //存储每一条记录对应行的行高,只有当设置为自动换行随内容撑开才会起作用\n // headerRowHeightsMap: NumberMap<number>; //目前是用来存储了表头各行的高度,从headerRowHeight计算而来,headerRowHeight可以设置为数组的形式\n _rowHeightsMap: NumberMap<number>; //存储数据条目每行高度\n _colWidthsMap: NumberMap<string | number>; //存储各列的宽度\n _colContentWidthsMap: NumberMap<string | number>; //存储各列的内容宽度\n _colWidthsLimit: {\n //存储各列的宽度限制\n [col: number]: {\n max?: string | number;\n min?: string | number;\n };\n };\n calcWidthContext: {\n _: IBaseTableProtected;\n full: number;\n // em: number;\n };\n\n _rowRangeHeightsMap: Map<string, number>; //存储指定行范围的总高度\n _colRangeWidthsMap: Map<string, number>; //存储指定列范围的总宽度\n\n _widthResizedColMap: Set<number>; //记录下被手动调整过列宽的列号\n\n bodyHelper: BodyHelper;\n headerHelper: HeaderHelper;\n\n cellTextOverflows: { [at: string]: string };\n // headerDescriptions: { [at: string]: string };\n focusedTable: boolean;\n\n config:\n | {\n [name: string]: any;\n }\n | undefined;\n // scroll: {\n // left: number;\n // top: number;\n // };\n releaseList?: { release: () => void }[] | null;\n theme: TableTheme;\n transpose?: boolean; //是否转置\n // autoRowHeight?: boolean; //是否自动撑开高度 对于设置了autoWrapText的multilineText的列生效\n pixelRatio?: number;\n /** 下拉菜单的相关配置。消失时机:显示后点击菜单区域外自动消失*/\n menu: {\n /** 代替原来的option.menuType */\n renderMode?: 'canvas' | 'html';\n /** 内置下拉菜单的全局设置项 目前只针对基本表格有效 会对每个表头单元格开启默认的下拉菜单功能。代替原来的option.dropDownMenu*/\n defaultHeaderMenuItems?: MenuListItem[];\n /** 右键菜单。代替原来的option.contextmenu */\n contextMenuItems?: MenuListItem[] | ((field: FieldDef, row: number) => MenuListItem[]);\n /** 设置选中状态的菜单。代替原来的option.dropDownMenuHighlight */\n dropDownMenuHighlight?: DropDownMenuHighlightInfo[];\n };\n /** 提示弹框的相关配置。消失时机:显示后鼠标移动到指定区域外或者进入新的单元格后自动消失*/\n tooltip: {\n renderMode: 'html' | 'canvas';\n /** 代替原来hover:isShowTooltip配置 */\n isShowOverflowTextTooltip: boolean;\n /** 弹框是否需要限定在表格区域内 */\n confine: boolean;\n };\n\n dataSourceEventIds?: EventListenerId[];\n // headerEvents?: EventListenerId[];\n layoutMap: SimpleHeaderLayoutMap | PivotHeaderLayoutMap;\n headerValues?: HeaderValues;\n tooltipHandler: TooltipHandler;\n\n // headerRowHeight: number[] | number;//移到了BaseTable\n sortState: SortState | SortState[];\n\n dataSource: DataSource | CachedDataSource;\n records?: any;\n allowRangePaste: boolean;\n //重新思考逻辑:如果为false,行高按设置的rowHeight;如果设置为true,则按lineHeight及是否自动换行综合计算行高 2021.11.19 by:lff\n\n autoWrapText?: boolean;\n\n menuHandler: MenuHandler;\n\n /**\n * 计算列宽时 指定最大列宽 可设置boolean或者具体的值 默认为450\n */\n limitMaxAutoWidth?: boolean | number;\n\n /**\n * 限制列宽最小值。\n */\n limitMinWidth?: number;\n\n title?: Title;\n legends?: DiscreteTableLegend | ContinueTableLegend;\n\n //是否开启图表异步渲染\n renderChartAsync?: boolean;\n // // 开启图表异步渲染 每批次渐进渲染图表个数\n // renderChartAsyncBatchCount?: number;\n\n stick: { changedCells: StickCell[] };\n\n customMergeCell?: CustomMergeCell;\n /**\n * 'auto':和浏览器滚动行为一致 表格滚动到顶部/底部时 触发浏览器默认行为;\n * 设置为 'none' 时, 表格滚动到顶部/底部时, 不再触发父容器滚动\n * */\n overscrollBehavior?: 'auto' | 'none';\n}\nexport interface BaseTableConstructorOptions {\n // /** 指定表格的行数 */\n // rowCount?: number;\n\n // /** 指定表格的列数 */\n // colCount?: number;\n /**\n * 当前需要冻结的列数 基本表格生效\n */\n frozenColCount?: number;\n rightFrozenColCount?: number;\n bottomFrozenRowCount?: number;\n\n // /** 待实现 TODO */\n // frozenRowCount?: number;\n /** 可冻结列数,表示前多少列会出现冻结操作按钮 基本表格生效 */\n allowFrozenColCount?: number;\n /**\n * 默认行高. 默认 40\n */\n defaultRowHeight?: number;\n /** 列表头默认行高 可以按逐行设置 如果没有就取defaultRowHeight */\n defaultHeaderRowHeight?: (number | 'auto') | (number | 'auto')[];\n /**\n * 默认列宽. 默认 80\n */\n defaultColWidth?: number;\n /** 行表头默认列宽 可以按逐列设置 如果没有就取defaultColWidth */\n defaultHeaderColWidth?: (number | 'auto') | (number | 'auto')[];\n /** 快捷键功能设置 */\n keyboardOptions?: TableKeyboardOptions;\n /**\n * Canvas container\n */\n container?: HTMLElement | null;\n\n /**\n * 调整列宽 可操作范围。'all' | 'none' | 'header' | 'body'; 整列间隔线|禁止调整|只能在表头处间隔线|只能在body间隔线\n */\n columnResizeMode?: 'all' | 'none' | 'header' | 'body';\n /** 控制拖拽表头移动位置顺序开关 */\n dragHeaderMode?: 'all' | 'none' | 'column' | 'row';\n /**\n * 是否显示固定列图钉 基本表格生效\n */\n showFrozenIcon?: boolean;\n\n padding?:\n | {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n }\n | number;\n /** hover交互配置 */\n hover?: {\n /** hover交互响应模式:十字交叉 整列 整行 或者单个单元格 */\n highlightMode: 'cross' | 'column' | 'row' | 'cell';\n /** 不响应鼠标hover交互 */\n disableHover?: boolean;\n /** 单独设置表头不响应鼠标hover交互 */\n disableHeaderHover?: boolean;\n /** 单独设置坐标轴不响应鼠标hover交互 */\n disableAxisHover?: boolean;\n };\n /** 选择单元格交互配置 */\n select?: {\n /** 点击表头单元格时连带body整行或整列选中 或仅选中当前单元格,默认或整行或整列选中*/\n headerSelectMode?: 'inline' | 'cell';\n /** 不响应鼠标select交互 */\n disableSelect?: boolean;\n /** 单独设置表头不响应鼠标select交互 */\n disableHeaderSelect?: boolean;\n };\n /** 下拉菜单的相关配置。消失时机:显示后点击菜单区域外自动消失*/\n menu?: {\n /** 代替原来的option.menuType html目前实现较完整 先默认html渲染方式*/\n renderMode?: 'canvas' | 'html';\n /** 内置下拉菜单的全局设置项 目前只针对基本表格有效 会对每个表头单元格开启默认的下拉菜单功能。代替原来的option.dropDownMenu*/\n defaultHeaderMenuItems?: MenuListItem[];\n /** 右键菜单。代替原来的option.contextmenu */\n contextMenuItems?: MenuListItem[] | ((field: string, row: number) => MenuListItem[]);\n /** 设置选中状态的菜单。代替原来的option.dropDownMenuHighlight */\n dropDownMenuHighlight?: DropDownMenuHighlightInfo[];\n };\n /** tooltip相关配置 */\n tooltip?: {\n /** html目前实现较完整 先默认html渲染方式 */\n renderMode?: 'html'; // 目前暂不支持canvas方案\n /** 代替原来hover:isShowTooltip配置 暂时需要将renderMode配置为html才能显示,canvas的还未开发*/\n isShowOverflowTextTooltip?: boolean;\n /** 是否将 tooltip 框限制在画布区域内,默认开启。针对renderMode:\"html\"有效 */\n confine?: boolean;\n };\n /**\n * Theme\n */\n theme?: ITableThemeDefine;\n /** 宽度模式 */\n widthMode?: 'standard' | 'adaptive' | 'autoWidth';\n /** 高度模式 */\n heightMode?: 'standard' | 'adaptive' | 'autoHeight';\n /** 当列宽度不能占满容器时,是否需要自动拉宽来填充容器的宽度。默认false */\n autoFillWidth?: boolean;\n /** 当行高度不能占满容器时,是否需要自动拉高来填充容器的高度。默认false */\n autoFillHeight?: boolean;\n // /** 行高是否根据内容来计算 */\n // autoRowHeight?: boolean;\n /** 设备的像素比 不配的话默认获取window.devicePixelRatio */\n pixelRatio?: number;\n /** 自定义渲染 函数形式*/\n customRender?: ICustomRender;\n /** 开启自动换行 默认false */\n autoWrapText?: boolean;\n /** 单元格中可显示最大字符数 默认200 */\n maxCharactersNumber?: number; //\n // /** toolip最大字符数 */\n // maxTooltipCharactersNumber?: number;\n /** 最大可操作条目数 如copy操作可复制出最大数据条目数 */\n maxOperatableRecordCount?: number;\n /**\n * 计算列宽时 指定最大列宽 可设置boolean或者具体的值 默认为450。手动拖拽列宽的话不收这个限制\n */\n limitMaxAutoWidth?: boolean | number;\n /**\n * 限制列宽最小值。如设置为true 则拖拽改变列宽时限制列宽最小为10px,设置为false则不进行限制。默认为10px\n */\n limitMinWidth?: boolean | number;\n\n // maximum number of data items maintained in table instance\n maintainedDataCount?: number;\n\n legends?: ITableLegendOption;\n title?: ITitle;\n\n /** 是否开启图表异步渲染 */\n renderChartAsync?: boolean;\n /** 开启图表异步渲染 每批次渐进渲染图表个数 默认是5个 */\n renderChartAsyncBatchCount?: number;\n\n customMergeCell?: CustomMergeCell;\n\n // for nodejs\n mode?: 'node' | 'broswer';\n modeParams?: any;\n canvasWidth?: number;\n canvasHeight?: number;\n /**\n * 'auto':和浏览器滚动行为一致 表格滚动到顶部/底部时 触发浏览器默认行为;\n * 设置为 'none' 时, 表格滚动到顶部/底部时, 不再触发父容器滚动\n * */\n overscrollBehavior?: 'auto' | 'none';\n}\nexport interface BaseTableAPI {\n /** 表格的行数 */\n rowCount: number;\n /** 表格的列数 */\n colCount: number;\n /** 表格除去外层frame后的宽度 */\n tableNoFrameWidth: number;\n /** 表格除去外层frame后的高度 */\n tableNoFrameHeight: number;\n /** 表格的冻结行数 包括表头在内 */\n frozenRowCount: number;\n /** 表格的冻结列数 包括表头在内 */\n frozenColCount: number;\n\n bottomFrozenRowCount: number;\n rightFrozenColCount: number;\n /** 当前表格默认表头行高 */\n defaultHeaderRowHeight: (number | 'auto') | (number | 'auto')[];\n /** 当前表格默认行高 */\n defaultRowHeight: number;\n /** 当前表格默认列宽 */\n defaultColWidth: number;\n /** 当前表格默认表头列宽 */\n defaultHeaderColWidth: (number | 'auto') | (number | 'auto')[];\n /** 当前表格快捷键设置 */\n keyboardOptions: TableKeyboardOptions | null;\n /**\n * 是否显示图钉\n */\n showFrozenIcon: boolean;\n readonly canvas: HTMLCanvasElement;\n /** 表格可视区域的行数 */\n readonly visibleRowCount: number;\n /** 表格可视区域的列数 */\n readonly visibleColCount: number;\n /** 表格滚动值left */\n scrollLeft: number;\n /** 表格滚动值top */\n scrollTop: number;\n /** 用户设置的options 不要修改这个这个 */\n options: BaseTableConstructorOptions;\n /** 设置的全局下拉菜单列表项配置 */\n globalDropDownMenu?: MenuListItem[];\n /** 设置的全局自定义渲染函数 */\n customRender?: ICustomRender;\n\n /** 表格数据管理对象 */\n dataSource: DataSourceAPI;\n /** 设置的表格主题 */\n theme: TableTheme;\n /** 可允许设置冻结的最大列数 */\n allowFrozenColCount: number;\n\n /** 存储内部用到的属性 变量等 */\n internalProps: IBaseTableProtected;\n /** 分页信息 */\n pagination?: IPagination;\n\n /** 表格偏移像素值 水平方向 */\n tableX: number;\n /** 表格偏移像素值 垂直方向 */\n tableY: number;\n /** 表格宽度模式 */\n widthMode: WidthModeDef;\n /** 表格宽度模式 */\n heightMode: HeightModeDef;\n /** 当列宽度不能占满容器时,是否需要自动拉宽来填充容器的宽度。默认false */\n autoFillWidth: boolean;\n /** 当行高度不能占满容器时,是否需要自动拉高来填充容器的高度。默认false */\n autoFillHeight?: boolean;\n\n isReleased: boolean;\n\n rowHeightsMap: NumberMap<number>;\n colWidthsMap: NumberMap<string | number>;\n\n on: <TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n listener: TableEventListener<TYPE> //(event: TableEventHandlersEventArgumentMap[TYPE]) => TableEventHandlersReturnMap[TYPE]\n ) => EventListenerId;\n // &(<T extends keyof TableEventHandlersEventArgumentMap>(type: string, listener: AnyListener<T>) => EventListenerId);\n\n _vDataSet: DataSet;\n /** 场景树对象 */\n scenegraph: Scenegraph;\n /** 状态管理模块 */\n stateManager?: StateManager;\n /** 事件管理模块 */\n eventManager?: EventManager;\n /** 行表头的层数 */\n rowHeaderLevelCount: number;\n /** 列表头的层数 */\n columnHeaderLevelCount: number;\n\n canvasWidth?: number;\n canvasHeight?: number;\n\n /** 获取表格绘制的范围 不包括frame的宽度 */\n getDrawRange: () => Rect;\n /** 将鼠标坐标值 转换成表格坐标系中的坐标位置 */\n _getMouseAbstractPoint: (\n evt: TouchEvent | MouseEvent | undefined,\n isAddScroll?: boolean\n ) => { x: number; y: number; inTable: boolean };\n getElement: () => HTMLElement;\n getContainer: () => HTMLElement;\n\n setFrozenColCount: (count: number) => void;\n _setFrozenColCount: (count: number) => void;\n _updateSize: () => void;\n\n render: () => void;\n throttleInvalidate: () => void;\n getRowHeight: (row: number) => number;\n getDefaultRowHeight: (row: number) => number | 'auto';\n _setRowHeight: (row: number, height: number, clearCache?: boolean) => void;\n getColWidth: (col: number) => number;\n getColWidthDefined: (col: number) => string | number;\n // setColWidthDefined: (col: number, width: number) => void;\n getColWidthDefinedNumber: (col: number) => number;\n // getColWidthDefine: (col: number) => string | number;\n _setColWidth: (col: number, width: number | string, clearCache?: boolean, skipCheckFrozen?: boolean) => void;\n _getColContentWidth: (col: number) => number;\n _setColContentWidth: (col: number, width: number | string, clearCache?: boolean) => void;\n getMaxColWidth: (col: number) => number;\n setMaxColWidth: (col: number, maxwidth: string | number) => void;\n getMinColWidth: (col: number) => number;\n setMinColWidth: (col: number, minwidth: string | number) => void;\n getCellRect: (col: number, row: number) => RectProps;\n getCellRelativeRect: (col: number, row: number) => RectProps;\n getCellsRect: (startCol: number, startRow: number, endCol: number, endRow: number) => RectProps;\n getCellRangeRect: (cellRange: CellRange | CellAddress) => RectProps;\n getCellRangeRelativeRect: (cellRange: CellRange | CellAddress) => RectProps;\n getVisibleCellRangeRelativeRect: (cellRange: CellRange | CellAddress) => RectProps;\n isFrozenCell: (col: number, row: number) => { row: boolean; col: boolean } | null;\n getRowAt: (absoluteY: number) => { top: number; row: number; bottom: number };\n getColAt: (absoluteX: number) => { left: number; col: number; right: number };\n getCellAt: (absoluteX: number, absoluteY: number) => CellAddress;\n _makeVisibleCell: (col: number, row: number) => void;\n // setFocusCursor(col: number, row: number): void;\n // focusCell(col: number, row: number): void;\n getCellOverflowText: (col: number, row: number) => string | null;\n getColsWidth: (startCol: number, endCol: number) => number;\n getRowsHeight: (startRow: number, endRow: number) => number;\n\n release: () => void;\n addReleaseObj: (releaseObj: { release: () => void }) => void;\n _getCellStyle: (col: number, row: number) => FullExtendStyle;\n clearCellStyleCache: () => void;\n\n getFrozenRowsHeight: () => number;\n getFrozenColsWidth: () => number;\n getBottomFrozenRowsHeight: () => number;\n getRightFrozenColsWidth: () => number;\n selectCell: (col: number, row: number) => void;\n selectCells: (cellRanges: CellRange[]) => void;\n getAllRowsHeight: () => number;\n getAllColsWidth: () => number;\n\n off: (id: EventListenerId) => void;\n getBodyField: (col: number, row: number) => FieldDef | undefined;\n /**\n * 根据单元格获取对应的源数据\n * @param col\n * @param row\n * @returns\n */\n getRecordByCell: (col: number, row: number) => MaybePromiseOrUndefined;\n /**\n * 根据数据源的index 获取显示到表格中的index 行号或者列号(与转置相关)。注:ListTable特有接口\n * @param recordIndex\n */\n getTableIndexByRecordIndex: (recordIndex: number) => number;\n /**\n * 根据数据源的field 获取显示到表格中的index 行号或者列号(与转置相关)。注:ListTable特有接口\n * @param recordIndex\n */\n getTableIndexByField: (field: FieldDef) => number;\n /**\n * 根据数据源中的index和field获取单元格行列号。注:ListTable特有接口\n * @param field\n * @param recordIndex\n * @returns\n */\n getCellAddrByFieldRecord: (field: FieldDef, recordIndex: number) => CellAddress;\n getRecordShowIndexByCell: (col: number, row: number) => number;\n getRecordStartRowByRecordIndex: (index: number) => number;\n\n getHeaderField: (col: number, row: number) => any | undefined;\n getHeaderFieldKey: (col: number, row: number) => any | undefined;\n\n _getHeaderCellBySortState: (sortState: SortState) => CellAddress | undefined;\n getHeaderDefine: (col: number, row: number) => ColumnDefine;\n _getHeaderLayoutMap: (col: number, row: number) => HeaderData;\n getContext: () => CanvasRenderingContext2D;\n getCellRange: (col: number, row: number) => CellRange;\n _resetFrozenColCount: () => void;\n isCellRangeEqual: (col: number, row: number, targetCol: number, targetRow: number) => boolean;\n _getLayoutCellId: (col: number, row: number) => LayoutObjectId;\n _getBodyLayoutMap: (col: number, row: number) => ColumnData | IndicatorData;\n getBodyColumnDefine: (col: number, row: number) => ColumnDefine;\n getBodyColumnType: (col: number, row: number) => ColumnTypeOption;\n getCellType: (col: number, row: number) => ColumnTypeOption;\n fireListeners: <TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n event: TableEventHandlersEventArgumentMap[TYPE]\n ) => TableEventHandlersReturnMap[TYPE][];\n\n //更新分页\n updatePagination: (cof: IPagination) => void;\n //hover\n\n getHeaderDescription: (col: number, row: number) => string | undefined;\n /** 获取单元格展示值 */\n getCellValue: (col: number, row: number) => string | null;\n /** 获取单元格展示数据的format前的值 */\n getCellOriginValue: (col: number, row: number) => any;\n /** 获取单元格展示数据源最原始值 */\n getCellRawValue: (col: number, row: number) => FieldData;\n /** 获取单元格展示数据的format前的record源数据 */\n getCellOriginRecord: (col: number, row: number) => MaybePromiseOrUndefined;\n /** 获取单元格展示源数据 */\n getCellRawRecord: (col: number, row: number) => MaybePromiseOrUndefined;\n\n _dropDownMenuIsHighlight: (col: number, row: number, index: number) => boolean;\n // bindEvents(): void;\n refreshRowColCount: () => void;\n // getFieldData: (field: FieldDef | FieldFormat | undefined, col: number, row: number) => FieldData;\n _hasField: (field: FieldDef, col: number, row: number) => boolean;\n getCellHeaderPaths: (col: number, row: number) => ICellHeaderPaths;\n getCellLocation: (col: number, row: number) => CellLocation;\n // isHitIcon(col: number, row: number, x: number, y: number, iconType: IconFuncTypeEnum): boolean;\n getCellIcons: (col: number, row: number) => ColumnIconOption[];\n\n getMenuInfo: (col: number, row: number, type: string) => DropDownMenuEventInfo;\n /**\n * 获取某个单元格的样式 共业务方调用\n * @param col\n * @param row\n */\n getCellStyle: (col: number, row: number) => CellStyle; // 计算后style\n\n getHierarchyState: (col: number, row: number) => HierarchyState | null;\n\n _hasHierarchyTreeHeader: () => boolean;\n\n _canDragHeaderPosition: (col: number, row: number) => boolean;\n\n isHeader: (col: number, row: number) => boolean;\n\n isColumnHeader: (col: number, row: number) => boolean;\n\n isCornerHeader: (col: number, row: number) => boolean;\n\n isRowHeader: (col: number, row: number) => boolean;\n\n getCopyValue: () => string;\n\n getSelectedCellInfos: () => CellInfo[][];\n getCellInfo: (col: number, row: number) => Omit<MousePointerCellEvent, 'target'>;\n\n showTooltip: (col: number, row: number, tooltipOptions?: TooltipOptions) => void;\n\n measureText: (\n text: string,\n font: { fontSize: number; fontWeight?: string | number; fontFamily: string }\n ) => ITextSize;\n\n _canResizeColumn: (col: number, row: number) => boolean;\n\n getCustomRender: (col: number, row: number) => ICustomRender;\n getCustomLayout: (col: number, row: number) => ICustomLayout;\n isListTable: () => boolean;\n isPivotTable: (() => boolean) & (() => boolean);\n isPivotChart: (() => boolean) & (() => boolean);\n _clearColRangeWidthsMap: (col?: number) => void;\n _clearRowRangeHeightsMap: (row?: number) => void;\n clearRowHeightCache: () => void;\n clearColWidthCache: () => void;\n toggleHierarchyState: (col: number, row: number) => void;\n\n resize: () => void;\n\n getMergeCellRect: (col: number, row: number) => Rect;\n\n getTargetColAt: (absoluteX: number) => { col: number; left: number; right: number; width: number } | null;\n getTargetRowAt: (absoluteY: number) => { row: number; top: number; bottom: number; height: number } | null;\n\n renderWithRecreateCells: () => void;\n //#endregion tableAPI\n\n _adjustColWidth: (col: number, orgWidth: number) => number;\n _colWidthDefineToPxWidth: (width: string | number) => number;\n isFrozenColumn: (col: number, row?: number) => boolean;\n isLeftFrozenColumn: (col: number, row?: number) => boolean;\n isRightFrozenColumn: (col: number, row?: number) => boolean;\n isFrozenRow: (col: number, row?: number) => boolean;\n isTopFrozenRow: (col: number, row?: number) => boolean;\n isBottomFrozenRow: (col: number, row?: number) => boolean;\n\n getCustomMerge: (col: number, row: number) => undefined | (Omit<CustomMerge, 'style'> & { style?: FullExtendStyle });\n /** 获取表格body部分的显示单元格范围 */\n getBodyVisibleCellRange: () => { rowStart: number; colStart: number; rowEnd: number; colEnd: number };\n /** 获取表格body部分的显示列号范围 */\n getBodyVisibleColRange: () => { colStart: number; colEnd: number };\n /** 获取表格body部分的显示行号范围 */\n getBodyVisibleRowRange: () => { rowStart: number; rowEnd: number };\n}\nexport interface ListTableProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | null;\n columns: ColumnsDefine;\n layoutMap: SimpleHeaderLayoutMap;\n}\n\nexport interface PivotTableProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | null;\n layoutMap: PivotHeaderLayoutMap;\n dataConfig?: IDataConfig;\n /**\n * 透视表是否开启数据分析\n * 如果传入数据是明细数据需要聚合分析则开启\n * 如传入数据是经过聚合好的为了提升性能这里设置为false,同时需要传入columnTree和rowTree\n */\n enableDataAnalysis?: boolean;\n\n /** 列表头树型结构 */\n columnTree?: IHeaderTreeDefine[];\n /** 行表头树型结构 */\n rowTree?: IHeaderTreeDefine[];\n /** 定义行上各个维度具体配置项和样式定义 */\n rows?: (IRowDimension | string)[]; // (string | IDimension)[]; 后续支持数据分析的透视表 支持string配置\n /** 定义列上各个维度具体配置项和样式定义 */\n columns?: (IColumnDimension | string)[]; // (string | IDimension)[];\n /** 定义指标具体配置项和样式定义 包含表头和body的定义*/\n indicators?: (IIndicator | string)[]; // (string | IIndicator)[];\n}\nexport interface PivotChartProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | Record<string, any[]>;\n layoutMap: PivotHeaderLayoutMap;\n dataConfig?: IDataConfig;\n columnTree?: IHeaderTreeDefine[];\n /** 行表头维度结构 */\n rowTree?: IHeaderTreeDefine[];\n /** 定义行上各个维度具体配置项和样式定义 */\n rows?: (IRowDimension | string)[]; // (string | IDimension)[]; 后续支持数据分析的透视表 支持string配置\n /** 定义列上各个维度具体配置项和样式定义 */\n columns?: (IColumnDimension | string)[]; // (string | IDimension)[];\n /** 定义指标具体配置项和样式定义 包含表头和body的定义*/\n indicators?: (IIndicator | string)[]; // (string | IIndicator)[];\n}\n"]}
1
+ {"version":3,"sources":["../src/ts-types/base-table.ts"],"names":[],"mappings":"","file":"base-table.js","sourcesContent":["import type { ITextSize } from '@visactor/vutils';\nimport type { RectProps, MaybePromiseOrUndefined, ICellHeaderPaths, CellInfo } from './common';\nimport type {\n TableEventListener,\n TableEventHandlersEventArgumentMap,\n TableEventHandlersReturnMap,\n EventListenerId,\n MousePointerCellEvent\n} from './events';\nimport type { MenuListItem, DropDownMenuEventInfo, DropDownMenuHighlightInfo } from './menu';\nimport type { CellStyle } from './style-define';\nimport type { ColumnIconOption } from './icon';\nimport type { ColumnData, ColumnDefine, ColumnsDefine, HeaderData, IndicatorData } from './list-table/layout-map/api';\nexport type { HeaderData } from './list-table/layout-map/api';\nimport type { TableTheme } from '../themes/theme';\nimport type { ICustomRender } from './customElement';\nexport type LayoutObjectId = number | string;\nimport type { Rect } from '../tools/Rect';\nimport type { Scenegraph } from '../scenegraph/scenegraph';\nimport type { StateManager } from '../state/state';\nimport type { EventManager } from '../event/event';\nimport type {\n CellAddress,\n CellRange,\n CellLocation,\n ColumnTypeOption,\n DataSourceAPI,\n FieldData,\n FieldDef,\n FieldFormat,\n FullExtendStyle,\n HeaderValues,\n HeightModeDef,\n HierarchyState,\n IDataConfig,\n IPagination,\n ITableThemeDefine,\n SortState,\n TableKeyboardOptions,\n WidthModeDef,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n StickCell,\n CustomMergeCell,\n CustomMerge,\n IColumnDimension,\n IRowDimension,\n TableEventOptions\n} from '.';\nimport type { TooltipOptions } from './tooltip';\nimport type { IWrapTextGraphicAttribute } from '../scenegraph/graphic/text';\nimport type { ICustomLayout } from './customLayout';\nimport type { CachedDataSource, DataSource } from '../data';\nimport type { MenuHandler } from '../components/menu/dom/MenuHandler';\nimport type { PivotHeaderLayoutMap } from '../layout/pivot-header-layout';\nimport type { SimpleHeaderLayoutMap } from '../layout';\nimport type { TooltipHandler } from '../components/tooltip/TooltipHandler';\nimport type { BodyHelper } from '../body-helper/body-helper';\nimport type { HeaderHelper } from '../header-helper/header-helper';\nimport type { EventHandler } from '../event/EventHandler';\nimport type { NumberMap } from '../tools/NumberMap';\nimport type { FocusInput } from '../core/FouseInput';\nimport type { ITableLegendOption } from './component/legend';\nimport type { DataSet } from '@visactor/vdataset';\nimport type { Title } from '../components/title/title';\nimport type { ITitle } from './component/title';\nimport type { DiscreteTableLegend } from '../components/legend/discrete-legend/discrete-legend';\nimport type { ContinueTableLegend } from '../components/legend/continue-legend/continue-legend';\n\nexport interface IBaseTableProtected {\n element: HTMLElement;\n // scrollable: Scrollable;\n handler: EventHandler;\n focusControl: FocusInput;\n canvas: HTMLCanvasElement;\n context: CanvasRenderingContext2D;\n rowCount: number;\n colCount: number;\n frozenColCount: number;\n allowFrozenColCount: number;\n\n frozenRowCount: number;\n rightFrozenColCount: number;\n bottomFrozenRowCount: number;\n defaultRowHeight: number;\n /**表头默认行高 可以按逐行设置 如果没有就取defaultRowHeight */\n defaultHeaderRowHeight: (number | 'auto') | (number | 'auto')[];\n defaultColWidth: number;\n defaultHeaderColWidth: (number | 'auto') | (number | 'auto')[];\n // font?: string;\n // underlayBackgroundColor?: string;\n keyboardOptions?: TableKeyboardOptions;\n eventOptions?: TableEventOptions;\n // disableRowHeaderColumnResize?: boolean;\n // 列宽调整模式(全列调整;全列不可调整;仅表头单元格可调整;仅内容单元格可调整)\n columnResizeMode?: 'all' | 'none' | 'header' | 'body';\n columnResizeType?: 'column' | 'indicator' | 'all' | 'indicatorGroup';\n /** 控制拖拽表头移动位置顺序开关 */\n dragHeaderMode?: 'all' | 'none' | 'column' | 'row';\n\n cachedRecordsRowHeightMap: NumberMap<string | number>; //存储每一条记录对应行的行高,只有当设置为自动换行随内容撑开才会起作用\n // headerRowHeightsMap: NumberMap<number>; //目前是用来存储了表头各行的高度,从headerRowHeight计算而来,headerRowHeight可以设置为数组的形式\n _rowHeightsMap: NumberMap<number>; //存储数据条目每行高度\n _colWidthsMap: NumberMap<string | number>; //存储各列的宽度\n _colContentWidthsMap: NumberMap<string | number>; //存储各列的内容宽度\n _colWidthsLimit: {\n //存储各列的宽度限制\n [col: number]: {\n max?: string | number;\n min?: string | number;\n };\n };\n calcWidthContext: {\n _: IBaseTableProtected;\n full: number;\n // em: number;\n };\n\n _rowRangeHeightsMap: Map<string, number>; //存储指定行范围的总高度\n _colRangeWidthsMap: Map<string, number>; //存储指定列范围的总宽度\n\n _widthResizedColMap: Set<number>; //记录下被手动调整过列宽的列号\n\n bodyHelper: BodyHelper;\n headerHelper: HeaderHelper;\n\n cellTextOverflows: { [at: string]: string };\n // headerDescriptions: { [at: string]: string };\n focusedTable: boolean;\n\n config:\n | {\n [name: string]: any;\n }\n | undefined;\n // scroll: {\n // left: number;\n // top: number;\n // };\n releaseList?: { release: () => void }[] | null;\n theme: TableTheme;\n transpose?: boolean; //是否转置\n // autoRowHeight?: boolean; //是否自动撑开高度 对于设置了autoWrapText的multilineText的列生效\n pixelRatio?: number;\n /** 下拉菜单的相关配置。消失时机:显示后点击菜单区域外自动消失*/\n menu: {\n /** 代替原来的option.menuType */\n renderMode?: 'canvas' | 'html';\n /** 内置下拉菜单的全局设置项 目前只针对基本表格有效 会对每个表头单元格开启默认的下拉菜单功能。代替原来的option.dropDownMenu*/\n defaultHeaderMenuItems?: MenuListItem[];\n /** 右键菜单。代替原来的option.contextmenu */\n contextMenuItems?: MenuListItem[] | ((field: FieldDef, row: number) => MenuListItem[]);\n /** 设置选中状态的菜单。代替原来的option.dropDownMenuHighlight */\n dropDownMenuHighlight?: DropDownMenuHighlightInfo[];\n };\n /** 提示弹框的相关配置。消失时机:显示后鼠标移动到指定区域外或者进入新的单元格后自动消失*/\n tooltip: {\n renderMode: 'html' | 'canvas';\n /** 代替原来hover:isShowTooltip配置 */\n isShowOverflowTextTooltip: boolean;\n /** 弹框是否需要限定在表格区域内 */\n confine: boolean;\n };\n\n dataSourceEventIds?: EventListenerId[];\n // headerEvents?: EventListenerId[];\n layoutMap: SimpleHeaderLayoutMap | PivotHeaderLayoutMap;\n headerValues?: HeaderValues;\n tooltipHandler: TooltipHandler;\n\n // headerRowHeight: number[] | number;//移到了BaseTable\n sortState: SortState | SortState[];\n\n dataSource: DataSource | CachedDataSource;\n records?: any;\n allowRangePaste: boolean;\n //重新思考逻辑:如果为false,行高按设置的rowHeight;如果设置为true,则按lineHeight及是否自动换行综合计算行高 2021.11.19 by:lff\n\n autoWrapText?: boolean;\n\n menuHandler: MenuHandler;\n\n /**\n * 计算列宽时 指定最大列宽 可设置boolean或者具体的值 默认为450\n */\n limitMaxAutoWidth?: boolean | number;\n\n /**\n * 限制列宽最小值。\n */\n limitMinWidth?: number;\n\n title?: Title;\n legends?: DiscreteTableLegend | ContinueTableLegend;\n\n //是否开启图表异步渲染\n renderChartAsync?: boolean;\n // // 开启图表异步渲染 每批次渐进渲染图表个数\n // renderChartAsyncBatchCount?: number;\n\n stick: { changedCells: StickCell[] };\n\n customMergeCell?: CustomMergeCell;\n /**\n * 'auto':和浏览器滚动行为一致 表格滚动到顶部/底部时 触发浏览器默认行为;\n * 设置为 'none' 时, 表格滚动到顶部/底部时, 不再触发父容器滚动\n * */\n overscrollBehavior?: 'auto' | 'none';\n}\nexport interface BaseTableConstructorOptions {\n // /** 指定表格的行数 */\n // rowCount?: number;\n\n // /** 指定表格的列数 */\n // colCount?: number;\n /**\n * 当前需要冻结的列数 基本表格生效\n */\n frozenColCount?: number;\n rightFrozenColCount?: number;\n bottomFrozenRowCount?: number;\n\n // /** 待实现 TODO */\n // frozenRowCount?: number;\n /** 可冻结列数,表示前多少列会出现冻结操作按钮 基本表格生效 */\n allowFrozenColCount?: number;\n /**\n * 默认行高. 默认 40\n */\n defaultRowHeight?: number;\n /** 列表头默认行高 可以按逐行设置 如果没有就取defaultRowHeight */\n defaultHeaderRowHeight?: (number | 'auto') | (number | 'auto')[];\n /**\n * 默认列宽. 默认 80\n */\n defaultColWidth?: number;\n /** 行表头默认列宽 可以按逐列设置 如果没有就取defaultColWidth */\n defaultHeaderColWidth?: (number | 'auto') | (number | 'auto')[];\n /** 快捷键功能设置 */\n keyboardOptions?: TableKeyboardOptions;\n /** 事件触发相关设置 */\n eventOptions?: TableEventOptions;\n /**\n * Canvas container\n */\n container?: HTMLElement | null;\n\n /**\n * 调整列宽 可操作范围。'all' | 'none' | 'header' | 'body'; 整列间隔线|禁止调整|只能在表头处间隔线|只能在body间隔线\n */\n columnResizeMode?: 'all' | 'none' | 'header' | 'body';\n /** 控制拖拽表头移动位置顺序开关 */\n dragHeaderMode?: 'all' | 'none' | 'column' | 'row';\n /**\n * 是否显示固定列图钉 基本表格生效\n */\n showFrozenIcon?: boolean;\n\n padding?:\n | {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n }\n | number;\n /** hover交互配置 */\n hover?: {\n /** hover交互响应模式:十字交叉 整列 整行 或者单个单元格 */\n highlightMode: 'cross' | 'column' | 'row' | 'cell';\n /** 不响应鼠标hover交互 */\n disableHover?: boolean;\n /** 单独设置表头不响应鼠标hover交互 */\n disableHeaderHover?: boolean;\n /** 单独设置坐标轴不响应鼠标hover交互 */\n disableAxisHover?: boolean;\n };\n /** 选择单元格交互配置 */\n select?: {\n /** 点击表头单元格时连带body整行或整列选中 或仅选中当前单元格,默认或整行或整列选中*/\n headerSelectMode?: 'inline' | 'cell';\n /** 不响应鼠标select交互 */\n disableSelect?: boolean;\n /** 单独设置表头不响应鼠标select交互 */\n disableHeaderSelect?: boolean;\n };\n /** 下拉菜单的相关配置。消失时机:显示后点击菜单区域外自动消失*/\n menu?: {\n /** 代替原来的option.menuType html目前实现较完整 先默认html渲染方式*/\n renderMode?: 'canvas' | 'html';\n /** 内置下拉菜单的全局设置项 目前只针对基本表格有效 会对每个表头单元格开启默认的下拉菜单功能。代替原来的option.dropDownMenu*/\n defaultHeaderMenuItems?: MenuListItem[];\n /** 右键菜单。代替原来的option.contextmenu */\n contextMenuItems?: MenuListItem[] | ((field: string, row: number) => MenuListItem[]);\n /** 设置选中状态的菜单。代替原来的option.dropDownMenuHighlight */\n dropDownMenuHighlight?: DropDownMenuHighlightInfo[];\n };\n /** tooltip相关配置 */\n tooltip?: {\n /** html目前实现较完整 先默认html渲染方式 */\n renderMode?: 'html'; // 目前暂不支持canvas方案\n /** 代替原来hover:isShowTooltip配置 暂时需要将renderMode配置为html才能显示,canvas的还未开发*/\n isShowOverflowTextTooltip?: boolean;\n /** 是否将 tooltip 框限制在画布区域内,默认开启。针对renderMode:\"html\"有效 */\n confine?: boolean;\n };\n /**\n * Theme\n */\n theme?: ITableThemeDefine;\n /** 宽度模式 */\n widthMode?: 'standard' | 'adaptive' | 'autoWidth';\n /** 高度模式 */\n heightMode?: 'standard' | 'adaptive' | 'autoHeight';\n /** 当列宽度不能占满容器时,是否需要自动拉宽来填充容器的宽度。默认false */\n autoFillWidth?: boolean;\n /** 当行高度不能占满容器时,是否需要自动拉高来填充容器的高度。默认false */\n autoFillHeight?: boolean;\n // /** 行高是否根据内容来计算 */\n // autoRowHeight?: boolean;\n /** 设备的像素比 不配的话默认获取window.devicePixelRatio */\n pixelRatio?: number;\n /** 自定义渲染 函数形式*/\n customRender?: ICustomRender;\n /** 开启自动换行 默认false */\n autoWrapText?: boolean;\n /** 单元格中可显示最大字符数 默认200 */\n maxCharactersNumber?: number; //\n // /** toolip最大字符数 */\n // maxTooltipCharactersNumber?: number;\n /** 最大可操作条目数 如copy操作可复制出最大数据条目数 */\n maxOperatableRecordCount?: number;\n /**\n * 计算列宽时 指定最大列宽 可设置boolean或者具体的值 默认为450。手动拖拽列宽的话不收这个限制\n */\n limitMaxAutoWidth?: boolean | number;\n /**\n * 限制列宽最小值。如设置为true 则拖拽改变列宽时限制列宽最小为10px,设置为false则不进行限制。默认为10px\n */\n limitMinWidth?: boolean | number;\n\n // maximum number of data items maintained in table instance\n maintainedDataCount?: number;\n\n legends?: ITableLegendOption;\n title?: ITitle;\n\n /** 是否开启图表异步渲染 */\n renderChartAsync?: boolean;\n /** 开启图表异步渲染 每批次渐进渲染图表个数 默认是5个 */\n renderChartAsyncBatchCount?: number;\n\n customMergeCell?: CustomMergeCell;\n\n // for nodejs\n mode?: 'node' | 'broswer';\n modeParams?: any;\n canvasWidth?: number;\n canvasHeight?: number;\n /**\n * 'auto':和浏览器滚动行为一致 表格滚动到顶部/底部时 触发浏览器默认行为;\n * 设置为 'none' 时, 表格滚动到顶部/底部时, 不再触发父容器滚动\n * */\n overscrollBehavior?: 'auto' | 'none';\n\n // resize response time\n resizeTime?: number;\n}\nexport interface BaseTableAPI {\n /** 表格的行数 */\n rowCount: number;\n /** 表格的列数 */\n colCount: number;\n /** 表格除去外层frame后的宽度 */\n tableNoFrameWidth: number;\n /** 表格除去外层frame后的高度 */\n tableNoFrameHeight: number;\n /** 表格的冻结行数 包括表头在内 */\n frozenRowCount: number;\n /** 表格的冻结列数 包括表头在内 */\n frozenColCount: number;\n\n bottomFrozenRowCount: number;\n rightFrozenColCount: number;\n /** 当前表格默认表头行高 */\n defaultHeaderRowHeight: (number | 'auto') | (number | 'auto')[];\n /** 当前表格默认行高 */\n defaultRowHeight: number;\n /** 当前表格默认列宽 */\n defaultColWidth: number;\n /** 当前表格默认表头列宽 */\n defaultHeaderColWidth: (number | 'auto') | (number | 'auto')[];\n /** 当前表格快捷键设置 */\n keyboardOptions: TableKeyboardOptions | null;\n /** 当前表格事件相关设置 */\n eventOptions: TableEventOptions | null;\n /**\n * 是否显示图钉\n */\n showFrozenIcon: boolean;\n readonly canvas: HTMLCanvasElement;\n /** 表格可视区域的行数 */\n readonly visibleRowCount: number;\n /** 表格可视区域的列数 */\n readonly visibleColCount: number;\n /** 表格滚动值left */\n scrollLeft: number;\n /** 表格滚动值top */\n scrollTop: number;\n /** 用户设置的options 不要修改这个这个 */\n options: BaseTableConstructorOptions;\n /** 设置的全局下拉菜单列表项配置 */\n globalDropDownMenu?: MenuListItem[];\n /** 设置的全局自定义渲染函数 */\n customRender?: ICustomRender;\n\n /** 表格数据管理对象 */\n dataSource: DataSourceAPI;\n /** 设置的表格主题 */\n theme: TableTheme;\n /** 可允许设置冻结的最大列数 */\n allowFrozenColCount: number;\n\n /** 存储内部用到的属性 变量等 */\n internalProps: IBaseTableProtected;\n /** 分页信息 */\n pagination?: IPagination;\n\n /** 表格偏移像素值 水平方向 */\n tableX: number;\n /** 表格偏移像素值 垂直方向 */\n tableY: number;\n /** 表格宽度模式 */\n widthMode: WidthModeDef;\n /** 表格宽度模式 */\n heightMode: HeightModeDef;\n /** 当列宽度不能占满容器时,是否需要自动拉宽来填充容器的宽度。默认false */\n autoFillWidth: boolean;\n /** 当行高度不能占满容器时,是否需要自动拉高来填充容器的高度。默认false */\n autoFillHeight?: boolean;\n\n isReleased: boolean;\n\n rowHeightsMap: NumberMap<number>;\n colWidthsMap: NumberMap<string | number>;\n\n on: <TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n listener: TableEventListener<TYPE> //(event: TableEventHandlersEventArgumentMap[TYPE]) => TableEventHandlersReturnMap[TYPE]\n ) => EventListenerId;\n // &(<T extends keyof TableEventHandlersEventArgumentMap>(type: string, listener: AnyListener<T>) => EventListenerId);\n\n _vDataSet: DataSet;\n /** 场景树对象 */\n scenegraph: Scenegraph;\n /** 状态管理模块 */\n stateManager: StateManager;\n /** 事件管理模块 */\n eventManager: EventManager;\n /** 行表头的层数 */\n rowHeaderLevelCount: number;\n /** 列表头的层数 */\n columnHeaderLevelCount: number;\n\n canvasWidth?: number;\n canvasHeight?: number;\n\n /** 获取表格绘制的范围 不包括frame的宽度 */\n getDrawRange: () => Rect;\n /** 将鼠标坐标值 转换成表格坐标系中的坐标位置 */\n _getMouseAbstractPoint: (\n evt: TouchEvent | MouseEvent | undefined,\n isAddScroll?: boolean\n ) => { x: number; y: number; inTable: boolean };\n getElement: () => HTMLElement;\n getContainer: () => HTMLElement;\n\n setFrozenColCount: (count: number) => void;\n _setFrozenColCount: (count: number) => void;\n _updateSize: () => void;\n\n render: () => void;\n throttleInvalidate: () => void;\n getRowHeight: (row: number) => number;\n getDefaultRowHeight: (row: number) => number | 'auto';\n _setRowHeight: (row: number, height: number, clearCache?: boolean) => void;\n getColWidth: (col: number) => number;\n getColWidthDefined: (col: number) => string | number;\n // setColWidthDefined: (col: number, width: number) => void;\n getColWidthDefinedNumber: (col: number) => number;\n // getColWidthDefine: (col: number) => string | number;\n _setColWidth: (col: number, width: number | string, clearCache?: boolean, skipCheckFrozen?: boolean) => void;\n _getColContentWidth: (col: number) => number;\n _setColContentWidth: (col: number, width: number | string, clearCache?: boolean) => void;\n getMaxColWidth: (col: number) => number;\n setMaxColWidth: (col: number, maxwidth: string | number) => void;\n getMinColWidth: (col: number) => number;\n setMinColWidth: (col: number, minwidth: string | number) => void;\n getCellRect: (col: number, row: number) => RectProps;\n getCellRelativeRect: (col: number, row: number) => RectProps;\n getCellsRect: (startCol: number, startRow: number, endCol: number, endRow: number) => RectProps;\n getCellRangeRect: (cellRange: CellRange | CellAddress) => RectProps;\n getCellRangeRelativeRect: (cellRange: CellRange | CellAddress) => RectProps;\n getVisibleCellRangeRelativeRect: (cellRange: CellRange | CellAddress) => RectProps;\n isFrozenCell: (col: number, row: number) => { row: boolean; col: boolean } | null;\n getRowAt: (absoluteY: number) => { top: number; row: number; bottom: number };\n getColAt: (absoluteX: number) => { left: number; col: number; right: number };\n getCellAt: (absoluteX: number, absoluteY: number) => CellAddress;\n _makeVisibleCell: (col: number, row: number) => void;\n // setFocusCursor(col: number, row: number): void;\n // focusCell(col: number, row: number): void;\n getCellOverflowText: (col: number, row: number) => string | null;\n getColsWidth: (startCol: number, endCol: number) => number;\n getRowsHeight: (startRow: number, endRow: number) => number;\n\n release: () => void;\n addReleaseObj: (releaseObj: { release: () => void }) => void;\n _getCellStyle: (col: number, row: number) => FullExtendStyle;\n clearCellStyleCache: () => void;\n\n getFrozenRowsHeight: () => number;\n getFrozenColsWidth: () => number;\n getBottomFrozenRowsHeight: () => number;\n getRightFrozenColsWidth: () => number;\n selectCell: (col: number, row: number) => void;\n selectCells: (cellRanges: CellRange[]) => void;\n getAllRowsHeight: () => number;\n getAllColsWidth: () => number;\n\n off: (id: EventListenerId) => void;\n getBodyField: (col: number, row: number) => FieldDef | undefined;\n /**\n * 根据单元格获取对应的源数据\n * @param col\n * @param row\n * @returns\n */\n getRecordByCell: (col: number, row: number) => MaybePromiseOrUndefined;\n /**\n * 根据数据源的index 获取显示到表格中的index 行号或者列号(与转置相关)。注:ListTable特有接口\n * @param recordIndex\n */\n getTableIndexByRecordIndex: (recordIndex: number) => number;\n /**\n * 根据数据源的field 获取显示到表格中的index 行号或者列号(与转置相关)。注:ListTable特有接口\n * @param recordIndex\n */\n getTableIndexByField: (field: FieldDef) => number;\n /**\n * 根据数据源中的index和field获取单元格行列号。注:ListTable特有接口\n * @param field\n * @param recordIndex\n * @returns\n */\n getCellAddrByFieldRecord: (field: FieldDef, recordIndex: number) => CellAddress;\n getRecordShowIndexByCell: (col: number, row: number) => number;\n getRecordStartRowByRecordIndex: (index: number) => number;\n\n getHeaderField: (col: number, row: number) => any | undefined;\n getHeaderFieldKey: (col: number, row: number) => any | undefined;\n\n _getHeaderCellBySortState: (sortState: SortState) => CellAddress | undefined;\n getHeaderDefine: (col: number, row: number) => ColumnDefine;\n _getHeaderLayoutMap: (col: number, row: number) => HeaderData;\n getContext: () => CanvasRenderingContext2D;\n getCellRange: (col: number, row: number) => CellRange;\n _resetFrozenColCount: () => void;\n isCellRangeEqual: (col: number, row: number, targetCol: number, targetRow: number) => boolean;\n _getLayoutCellId: (col: number, row: number) => LayoutObjectId;\n _getBodyLayoutMap: (col: number, row: number) => ColumnData | IndicatorData;\n getBodyColumnDefine: (col: number, row: number) => ColumnDefine;\n getBodyColumnType: (col: number, row: number) => ColumnTypeOption;\n getCellType: (col: number, row: number) => ColumnTypeOption;\n fireListeners: <TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n event: TableEventHandlersEventArgumentMap[TYPE]\n ) => TableEventHandlersReturnMap[TYPE][];\n\n //更新分页\n updatePagination: (cof: IPagination) => void;\n //hover\n\n getHeaderDescription: (col: number, row: number) => string | undefined;\n /** 获取单元格展示值 */\n getCellValue: (col: number, row: number) => string | null;\n /** 获取单元格展示数据的format前的值 */\n getCellOriginValue: (col: number, row: number) => any;\n /** 获取单元格展示数据源最原始值 */\n getCellRawValue: (col: number, row: number) => FieldData;\n /** 获取单元格展示数据的format前的record源数据 */\n getCellOriginRecord: (col: number, row: number) => MaybePromiseOrUndefined;\n /** 获取单元格展示源数据 */\n getCellRawRecord: (col: number, row: number) => MaybePromiseOrUndefined;\n\n _dropDownMenuIsHighlight: (col: number, row: number, index: number) => boolean;\n // bindEvents(): void;\n refreshRowColCount: () => void;\n // getFieldData: (field: FieldDef | FieldFormat | undefined, col: number, row: number) => FieldData;\n _hasField: (field: FieldDef, col: number, row: number) => boolean;\n getCellHeaderPaths: (col: number, row: number) => ICellHeaderPaths;\n getCellLocation: (col: number, row: number) => CellLocation;\n // isHitIcon(col: number, row: number, x: number, y: number, iconType: IconFuncTypeEnum): boolean;\n getCellIcons: (col: number, row: number) => ColumnIconOption[];\n\n getMenuInfo: (col: number, row: number, type: string) => DropDownMenuEventInfo;\n /**\n * 获取某个单元格的样式 共业务方调用\n * @param col\n * @param row\n */\n getCellStyle: (col: number, row: number) => CellStyle; // 计算后style\n\n getHierarchyState: (col: number, row: number) => HierarchyState | null;\n\n _hasHierarchyTreeHeader: () => boolean;\n\n _canDragHeaderPosition: (col: number, row: number) => boolean;\n\n isHeader: (col: number, row: number) => boolean;\n\n isColumnHeader: (col: number, row: number) => boolean;\n\n isCornerHeader: (col: number, row: number) => boolean;\n\n isRowHeader: (col: number, row: number) => boolean;\n\n getCopyValue: () => string;\n\n getSelectedCellInfos: () => CellInfo[][];\n getCellInfo: (col: number, row: number) => Omit<MousePointerCellEvent, 'target'>;\n\n showTooltip: (col: number, row: number, tooltipOptions?: TooltipOptions) => void;\n\n measureText: (\n text: string,\n font: { fontSize: number; fontWeight?: string | number; fontFamily: string }\n ) => ITextSize;\n\n _canResizeColumn: (col: number, row: number) => boolean;\n\n getCustomRender: (col: number, row: number) => ICustomRender;\n getCustomLayout: (col: number, row: number) => ICustomLayout;\n isListTable: () => boolean;\n isPivotTable: (() => boolean) & (() => boolean);\n isPivotChart: (() => boolean) & (() => boolean);\n _clearColRangeWidthsMap: (col?: number) => void;\n _clearRowRangeHeightsMap: (row?: number) => void;\n clearRowHeightCache: () => void;\n clearColWidthCache: () => void;\n toggleHierarchyState: (col: number, row: number) => void;\n\n resize: () => void;\n\n getMergeCellRect: (col: number, row: number) => Rect;\n\n getTargetColAt: (absoluteX: number) => { col: number; left: number; right: number; width: number } | null;\n getTargetRowAt: (absoluteY: number) => { row: number; top: number; bottom: number; height: number } | null;\n\n renderWithRecreateCells: () => void;\n //#endregion tableAPI\n\n _adjustColWidth: (col: number, orgWidth: number) => number;\n _colWidthDefineToPxWidth: (width: string | number) => number;\n isFrozenColumn: (col: number, row?: number) => boolean;\n isLeftFrozenColumn: (col: number, row?: number) => boolean;\n isRightFrozenColumn: (col: number, row?: number) => boolean;\n isFrozenRow: (col: number, row?: number) => boolean;\n isTopFrozenRow: (col: number, row?: number) => boolean;\n isBottomFrozenRow: (col: number, row?: number) => boolean;\n\n getCustomMerge: (col: number, row: number) => undefined | (Omit<CustomMerge, 'style'> & { style?: FullExtendStyle });\n /** 获取表格body部分的显示单元格范围 */\n getBodyVisibleCellRange: () => { rowStart: number; colStart: number; rowEnd: number; colEnd: number };\n /** 获取表格body部分的显示列号范围 */\n getBodyVisibleColRange: () => { colStart: number; colEnd: number };\n /** 获取表格body部分的显示行号范围 */\n getBodyVisibleRowRange: () => { rowStart: number; rowEnd: number };\n\n hasCustomRenderOrLayout: () => boolean;\n /** 根据表格单元格的行列号 获取在body部分的列索引及行索引 */\n getBodyIndexByTableIndex: (col: number, row: number) => CellAddress;\n /** 根据body部分的列索引及行索引,获取单元格的行列号 */\n getTableIndexByBodyIndex: (col: number, row: number) => CellAddress;\n}\nexport interface ListTableProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | null;\n columns: ColumnsDefine;\n layoutMap: SimpleHeaderLayoutMap;\n}\n\nexport interface PivotTableProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | null;\n layoutMap: PivotHeaderLayoutMap;\n dataConfig?: IDataConfig;\n /**\n * 透视表是否开启数据分析\n * 如果传入数据是明细数据需要聚合分析则开启\n * 如传入数据是经过聚合好的为了提升性能这里设置为false,同时需要传入columnTree和rowTree\n */\n enableDataAnalysis?: boolean;\n\n /** 列表头树型结构 */\n columnTree?: IHeaderTreeDefine[];\n /** 行表头树型结构 */\n rowTree?: IHeaderTreeDefine[];\n /** 定义行上各个维度具体配置项和样式定义 */\n rows?: (IRowDimension | string)[]; // (string | IDimension)[]; 后续支持数据分析的透视表 支持string配置\n /** 定义列上各个维度具体配置项和样式定义 */\n columns?: (IColumnDimension | string)[]; // (string | IDimension)[];\n /** 定义指标具体配置项和样式定义 包含表头和body的定义*/\n indicators?: (IIndicator | string)[]; // (string | IIndicator)[];\n}\nexport interface PivotChartProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | Record<string, any[]>;\n layoutMap: PivotHeaderLayoutMap;\n dataConfig?: IDataConfig;\n columnTree?: IHeaderTreeDefine[];\n /** 行表头维度结构 */\n rowTree?: IHeaderTreeDefine[];\n /** 定义行上各个维度具体配置项和样式定义 */\n rows?: (IRowDimension | string)[]; // (string | IDimension)[]; 后续支持数据分析的透视表 支持string配置\n /** 定义列上各个维度具体配置项和样式定义 */\n columns?: (IColumnDimension | string)[]; // (string | IDimension)[];\n /** 定义指标具体配置项和样式定义 包含表头和body的定义*/\n indicators?: (IIndicator | string)[]; // (string | IIndicator)[];\n}\n"]}
@@ -30,6 +30,7 @@ export type shadowColorsDef = {
30
30
  } | null)[];
31
31
  export type PaddingsDef = number | (number | null)[];
32
32
  export type SortOption = boolean | ((v1: any, v2: any, order: SortOrder) => -1 | 0 | 1);
33
+ export type MergeCellOption = boolean | ((v1: any, v2: any) => boolean);
33
34
  export type BaseCellInfo = {
34
35
  row: number;
35
36
  col: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/common.ts"],"names":[],"mappings":"AAyGA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;AAC3B,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AASD,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,+BAAe,CAAA;AACjB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB","file":"common.js","sourcesContent":["import type { ColumnTypeOption } from './column';\nimport type { ColumnData } from './list-table/layout-map/api';\nimport type { CellLocation, FieldData, FieldDef } from './table-engine';\n\nexport type MaybePromise<T> = T | Promise<T>;\n\nexport type MaybeCall<T, A extends any[]> = T | ((...args: A) => T);\n\nexport type MaybePromiseOrUndefined = any | undefined | Promise<any | undefined>;\nexport type MaybePromiseOrCallOrUndefined = any | undefined | Promise<any | undefined> | ((...args: any) => any);\nexport type PromiseMaybeUndefOrCall<T, A extends any[]> = Promise<T | undefined> | ((...args: A) => T);\nexport type AnyFunction = (...args: any[]) => any;\n\nexport interface RectProps {\n left: number;\n right: number;\n top: number;\n bottom: number;\n width: number;\n height: number;\n}\n\nexport interface CellPosition {\n col: number;\n row: number;\n}\n\nexport type ColorsDef = string | (string | null)[];\nexport type LineWidthsDef = number | (number | null)[];\nexport type LineDashsDef = number[] | (number[] | null)[];\nexport type shadowColorsDef = { from: string; to: string } | ({ from: string; to: string } | null)[];\nexport type PaddingsDef = number | (number | null)[];\nexport type SortOption = boolean | ((v1: any, v2: any, order: SortOrder) => -1 | 0 | 1);\nexport type BaseCellInfo = {\n row: number;\n col: number;\n /**format之后的值 */\n value: FieldData;\n /**原始值 */\n dataValue: FieldData;\n};\nexport type CellInfo = {\n col: number;\n row: number;\n title?: string | (() => string) | undefined;\n /**维度名称 */\n field?: FieldDef;\n /**单元格行列表头paths */\n cellHeaderPaths?: ICellHeaderPaths;\n /**单元格的位置 */\n cellRange?: RectProps;\n /**整条数据-原始数据 */\n originData?: any;\n /**format之后的值 */\n value?: FieldData;\n /**原始值 */\n dataValue?: FieldData;\n cellLocation?: CellLocation;\n cellType?: ColumnTypeOption;\n};\n\nexport type ICellHeaderPaths = IListTableCellHeaderPaths | IPivotTableCellHeaderPaths;\nexport type IListTableCellHeaderPaths = {\n readonly colHeaderPaths?: {\n field: FieldDef;\n // title: string | (() => string) | undefined;\n }[];\n readonly rowHeaderPaths?: {\n field: FieldDef;\n // title: string | (() => string) | undefined;\n }[];\n cellLocation: CellLocation;\n};\nexport type IPivotTableCellHeaderPaths = {\n /** 列表头各级path表头信息 */\n readonly colHeaderPaths?: {\n dimensionKey?: string;\n indicatorKey?: string;\n value?: string;\n }[];\n /** 行表头各级path表头信息 */\n readonly rowHeaderPaths?: {\n dimensionKey?: string;\n indicatorKey?: string;\n value?: string;\n }[];\n cellLocation: CellLocation;\n};\n\nexport interface IDimensionInfo {\n dimensionKey?: string;\n value?: string;\n indicatorKey?: string;\n isPivotCorner?: boolean;\n}\n\n/**\n * 当前表格的交互状态:\n * Default 默认展示\n * grabing 拖拽中\n * -Resize column 改变列宽\n * -column move 调整列顺序\n * -drag select 拖拽多选\n * Scrolling 滚动中\n */\nexport enum InteractionState {\n 'default' = 'default',\n 'grabing' = 'grabing',\n 'scrolling' = 'scrolling'\n}\n/**\n * 单元格的高亮效果设置\n * single 单个单元格高亮\n * column 整列高亮\n * row 整行高量\n * cross 十字花 行列均高亮\n * none 无高亮\n */\nexport enum HighlightScope {\n 'single' = 'single',\n 'column' = 'column',\n 'row' = 'row',\n 'cross' = 'cross',\n 'none' = 'none'\n}\n\nexport type SortOrder = 'asc' | 'desc' | 'normal';\n"]}
1
+ {"version":3,"sources":["../src/ts-types/common.ts"],"names":[],"mappings":"AA0GA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAqB,CAAA;IACrB,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;AAC3B,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AASD,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,6BAAa,CAAA;IACb,iCAAiB,CAAA;IACjB,+BAAe,CAAA;AACjB,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB","file":"common.js","sourcesContent":["import type { ColumnTypeOption } from './column';\nimport type { ColumnData } from './list-table/layout-map/api';\nimport type { CellLocation, FieldData, FieldDef } from './table-engine';\n\nexport type MaybePromise<T> = T | Promise<T>;\n\nexport type MaybeCall<T, A extends any[]> = T | ((...args: A) => T);\n\nexport type MaybePromiseOrUndefined = any | undefined | Promise<any | undefined>;\nexport type MaybePromiseOrCallOrUndefined = any | undefined | Promise<any | undefined> | ((...args: any) => any);\nexport type PromiseMaybeUndefOrCall<T, A extends any[]> = Promise<T | undefined> | ((...args: A) => T);\nexport type AnyFunction = (...args: any[]) => any;\n\nexport interface RectProps {\n left: number;\n right: number;\n top: number;\n bottom: number;\n width: number;\n height: number;\n}\n\nexport interface CellPosition {\n col: number;\n row: number;\n}\n\nexport type ColorsDef = string | (string | null)[];\nexport type LineWidthsDef = number | (number | null)[];\nexport type LineDashsDef = number[] | (number[] | null)[];\nexport type shadowColorsDef = { from: string; to: string } | ({ from: string; to: string } | null)[];\nexport type PaddingsDef = number | (number | null)[];\nexport type SortOption = boolean | ((v1: any, v2: any, order: SortOrder) => -1 | 0 | 1);\nexport type MergeCellOption = boolean | ((v1: any, v2: any) => boolean);\nexport type BaseCellInfo = {\n row: number;\n col: number;\n /**format之后的值 */\n value: FieldData;\n /**原始值 */\n dataValue: FieldData;\n};\nexport type CellInfo = {\n col: number;\n row: number;\n title?: string | (() => string) | undefined;\n /**维度名称 */\n field?: FieldDef;\n /**单元格行列表头paths */\n cellHeaderPaths?: ICellHeaderPaths;\n /**单元格的位置 */\n cellRange?: RectProps;\n /**整条数据-原始数据 */\n originData?: any;\n /**format之后的值 */\n value?: FieldData;\n /**原始值 */\n dataValue?: FieldData;\n cellLocation?: CellLocation;\n cellType?: ColumnTypeOption;\n};\n\nexport type ICellHeaderPaths = IListTableCellHeaderPaths | IPivotTableCellHeaderPaths;\nexport type IListTableCellHeaderPaths = {\n readonly colHeaderPaths?: {\n field: FieldDef;\n // title: string | (() => string) | undefined;\n }[];\n readonly rowHeaderPaths?: {\n field: FieldDef;\n // title: string | (() => string) | undefined;\n }[];\n cellLocation: CellLocation;\n};\nexport type IPivotTableCellHeaderPaths = {\n /** 列表头各级path表头信息 */\n readonly colHeaderPaths?: {\n dimensionKey?: string;\n indicatorKey?: string;\n value?: string;\n }[];\n /** 行表头各级path表头信息 */\n readonly rowHeaderPaths?: {\n dimensionKey?: string;\n indicatorKey?: string;\n value?: string;\n }[];\n cellLocation: CellLocation;\n};\n\nexport interface IDimensionInfo {\n dimensionKey?: string;\n value?: string;\n indicatorKey?: string;\n isPivotCorner?: boolean;\n}\n\n/**\n * 当前表格的交互状态:\n * Default 默认展示\n * grabing 拖拽中\n * -Resize column 改变列宽\n * -column move 调整列顺序\n * -drag select 拖拽多选\n * Scrolling 滚动中\n */\nexport enum InteractionState {\n 'default' = 'default',\n 'grabing' = 'grabing',\n 'scrolling' = 'scrolling'\n}\n/**\n * 单元格的高亮效果设置\n * single 单个单元格高亮\n * column 整列高亮\n * row 整行高量\n * cross 十字花 行列均高亮\n * none 无高亮\n */\nexport enum HighlightScope {\n 'single' = 'single',\n 'column' = 'column',\n 'row' = 'row',\n 'cross' = 'cross',\n 'none' = 'none'\n}\n\nexport type SortOrder = 'asc' | 'desc' | 'normal';\n"]}
@@ -1,4 +1,4 @@
1
- import type { ITextGraphicAttribute, IRichTextCharacter, RichTextWordBreak, IRichTextGraphicAttribute } from '@visactor/vrender';
1
+ import type { ITextGraphicAttribute, IRichTextCharacter, RichTextWordBreak, IRichTextGraphicAttribute } from './../../vrender';
2
2
  export type ITitle = {
3
3
  visible?: boolean;
4
4
  orient?: 'left' | 'top' | 'right' | 'bottom';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/component/title.ts"],"names":[],"mappings":"","file":"title.js","sourcesContent":["import type {\n ITextGraphicAttribute,\n IRichTextCharacter,\n RichTextWordBreak,\n IRichTextGraphicAttribute\n} from '@visactor/vrender';\nexport type ITitle = {\n /**\n * 是否显示标题\n */\n visible?: boolean;\n /**\n * Title位置\n * @default 'top'\n */\n orient?: 'left' | 'top' | 'right' | 'bottom';\n /**\n * 主标题内容\n */\n text?: string | number | (string | number)[];\n /**\n * 副标题内容\n */\n subtext?: string | number | (string | number)[];\n /**\n * 标题左上角x坐标像素值\n */\n x?: number;\n /**\n * 标题左上角y坐标像素值\n */\n y?: number;\n /**\n * 标题宽度\n */\n width?: number;\n /**\n * 标题高度\n */\n height?: number;\n /**\n * 最小宽度,像素值\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * 最小高度,像素值\n */\n minHeight?: number;\n /**\n * 最大高度,像素值\n */\n maxHeight?: number;\n /**\n * 标题的边距留白\n */\n padding?: number | number[];\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: 'left' | 'center' | 'right';\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: 'top' | 'middle' | 'bottom';\n /**\n * 主标题样式\n */\n textStyle?: {\n width?: number;\n height?: number;\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 折行方式\n * 'break-word' | 'break-all'\n */\n wordBreak?: RichTextWordBreak;\n /**\n * 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 默认设置为title宽度\n */\n maxLineWidth?: number;\n /**\n * 高度限制控制显示内容及省略号(heightLimit)\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号(lineClamp)\n */\n lineClamp?: number;\n /**\n * 富文本配置\n */\n character?: IRichTextCharacter[];\n } & Partial<ITextGraphicAttribute> &\n Partial<IRichTextGraphicAttribute>;\n /**\n * 副标题样式\n */\n subtextStyle?: {\n /** 指定宽度 */\n width?: number;\n /** 指定高度 */\n height?: number;\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 折行方式\n * 'break-word' | 'break-all'\n */\n wordBreak?: RichTextWordBreak;\n /**\n * 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 默认设置为title宽度\n */\n maxLineWidth?: number;\n /**\n * 高度限制控制显示内容及省略号(heightLimit)\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号(lineClamp)\n */\n lineClamp?: number;\n /**\n * 富文本配置\n */\n character?: IRichTextCharacter[];\n } & Partial<ITextGraphicAttribute> &\n Partial<IRichTextGraphicAttribute>;\n};\nexport interface IPadding {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\nexport type Text = string | number;\n"]}
1
+ {"version":3,"sources":["../src/ts-types/component/title.ts"],"names":[],"mappings":"","file":"title.js","sourcesContent":["import type {\n ITextGraphicAttribute,\n IRichTextCharacter,\n RichTextWordBreak,\n IRichTextGraphicAttribute\n} from './../../vrender';\nexport type ITitle = {\n /**\n * 是否显示标题\n */\n visible?: boolean;\n /**\n * Title位置\n * @default 'top'\n */\n orient?: 'left' | 'top' | 'right' | 'bottom';\n /**\n * 主标题内容\n */\n text?: string | number | (string | number)[];\n /**\n * 副标题内容\n */\n subtext?: string | number | (string | number)[];\n /**\n * 标题左上角x坐标像素值\n */\n x?: number;\n /**\n * 标题左上角y坐标像素值\n */\n y?: number;\n /**\n * 标题宽度\n */\n width?: number;\n /**\n * 标题高度\n */\n height?: number;\n /**\n * 最小宽度,像素值\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * 最小高度,像素值\n */\n minHeight?: number;\n /**\n * 最大高度,像素值\n */\n maxHeight?: number;\n /**\n * 标题的边距留白\n */\n padding?: number | number[];\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: 'left' | 'center' | 'right';\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: 'top' | 'middle' | 'bottom';\n /**\n * 主标题样式\n */\n textStyle?: {\n width?: number;\n height?: number;\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 折行方式\n * 'break-word' | 'break-all'\n */\n wordBreak?: RichTextWordBreak;\n /**\n * 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 默认设置为title宽度\n */\n maxLineWidth?: number;\n /**\n * 高度限制控制显示内容及省略号(heightLimit)\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号(lineClamp)\n */\n lineClamp?: number;\n /**\n * 富文本配置\n */\n character?: IRichTextCharacter[];\n } & Partial<ITextGraphicAttribute> &\n Partial<IRichTextGraphicAttribute>;\n /**\n * 副标题样式\n */\n subtextStyle?: {\n /** 指定宽度 */\n width?: number;\n /** 指定高度 */\n height?: number;\n /**\n * 文字水平对齐方式\n * 'left' | 'center' | 'right'\n */\n align?: string;\n /**\n * 文字垂直对齐方式\n * 'top' | 'middle' | 'bottom'\n */\n verticalAlign?: string;\n /**\n * 折行方式\n * 'break-word' | 'break-all'\n */\n wordBreak?: RichTextWordBreak;\n /**\n * 按照宽度限制自动折行或显示省略号(maxLineWidth)\n * 默认设置为title宽度\n */\n maxLineWidth?: number;\n /**\n * 高度限制控制显示内容及省略号(heightLimit)\n */\n heightLimit?: number;\n /**\n * 按照行数限制显示内容及省略号(lineClamp)\n */\n lineClamp?: number;\n /**\n * 富文本配置\n */\n character?: IRichTextCharacter[];\n } & Partial<ITextGraphicAttribute> &\n Partial<IRichTextGraphicAttribute>;\n};\nexport interface IPadding {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\nexport type Text = string | number;\n"]}
@@ -16,7 +16,7 @@ interface baseElement {
16
16
  y: number | string | ((value: string) => number | string);
17
17
  dx?: number;
18
18
  dy?: number;
19
- clickable?: boolean;
19
+ pickable?: boolean;
20
20
  cursor?: string;
21
21
  }
22
22
  export interface TextElement extends baseElement {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/customElement.ts"],"names":[],"mappings":"","file":"customElement.js","sourcesContent":["import type { FieldData } from './table-engine';\nimport type { RectProps } from './common';\nimport type { BaseTableAPI } from './base-table';\nimport type { TextAlignType, TextBaselineType } from './style-define';\nexport interface CustomRenderFunctionArg {\n row: number;\n col: number;\n table: BaseTableAPI;\n /**format之后的值 */\n value: FieldData;\n /**原始值 */\n dataValue: FieldData;\n rect?: RectProps;\n}\ninterface baseElement {\n elementKey?: string;\n x: number | string | ((value: string) => number | string);\n y: number | string | ((value: string) => number | string);\n dx?: number;\n dy?: number;\n clickable?: boolean;\n cursor?: string;\n}\nexport interface TextElement extends baseElement {\n type: 'text';\n text: string | ((value: string) => string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n color?: string | ((value: string) => string);\n lineWidth: number;\n fontSize?: number | ((value: string) => number);\n fontFamily?: string | ((value: string) => string);\n fontWeight?: string | number | ((value: string) => string | number);\n fontVariant?: string;\n fontStyle?: string;\n ellipsis?: boolean | string;\n maxLineWidth?: number;\n textAlign?: TextAlignType;\n textBaseline?: TextBaselineType;\n lineHeight?: number;\n underline?: number;\n lineThrough?: number;\n heightLimit?: number;\n lineClamp?: number;\n width?: number;\n height?: number;\n background?: {\n fill?: string;\n expandY?: number;\n expandX?: number;\n cornerRadius?: number;\n };\n}\nexport interface LineElement extends Omit<baseElement, 'x' | 'y'> {\n type: 'line';\n stroke?: string | ((value: string) => string);\n points: { x: number; y: number }[];\n lineWidth?: number;\n}\n\nexport interface RectElement extends baseElement {\n type: 'rect';\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n radius?: number | string | ((value: string) => number | string);\n}\n\nexport interface CircleElement extends baseElement {\n type: 'circle';\n radius: number | string | ((value: string) => number | string);\n // radian?: number | string | ((value: string) => number | string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n}\nexport interface ArcElement extends baseElement {\n type: 'arc';\n radius: number | string | ((value: string) => number | string);\n startAngle?: number | ((value: string) => number);\n endAngle?: number | ((value: string) => number);\n // clockWise?: boolean;\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n}\nexport interface IconElement extends baseElement {\n type: 'icon';\n svg: string | ((value: string) => string);\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n hover?: {\n x: number | string;\n y: number | string;\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n bgColor: string;\n radius?: number;\n };\n}\nexport interface ImageElement extends baseElement {\n type: 'image';\n src: string | ((value: string) => string);\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n hover?: {\n x: number | string;\n y: number | string;\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n bgColor: string;\n radius?: number;\n };\n shape?: 'circle' | 'square';\n}\nexport type ICustomRenderElement =\n | TextElement\n | RectElement\n | CircleElement\n | IconElement\n | ImageElement\n | ArcElement\n | LineElement;\nexport type ICustomRenderElements = Array<ICustomRenderElement>;\n\nexport type ICustomRenderFuc = (args: CustomRenderFunctionArg) => ICustomRenderObj;\n\nexport type ICustomRenderObj = {\n /** 配置出来的类型集合 */\n elements: ICustomRenderElements;\n /** 期望单元格的高度 */\n expectedHeight: number;\n /** 期望单元格的宽度 */\n expectedWidth: number;\n /**\n * 是否还需要默认渲染内容 只有配置true才绘制 默认 不绘制\n */\n renderDefault?: boolean;\n};\n\nexport type ICustomRender = ICustomRenderFuc | ICustomRenderObj;\n"]}
1
+ {"version":3,"sources":["../src/ts-types/customElement.ts"],"names":[],"mappings":"","file":"customElement.js","sourcesContent":["import type { FieldData } from './table-engine';\nimport type { RectProps } from './common';\nimport type { BaseTableAPI } from './base-table';\nimport type { TextAlignType, TextBaselineType } from './style-define';\nexport interface CustomRenderFunctionArg {\n row: number;\n col: number;\n table: BaseTableAPI;\n /**format之后的值 */\n value: FieldData;\n /**原始值 */\n dataValue: FieldData;\n rect?: RectProps;\n}\ninterface baseElement {\n elementKey?: string;\n x: number | string | ((value: string) => number | string);\n y: number | string | ((value: string) => number | string);\n dx?: number;\n dy?: number;\n // clickable?: boolean; // @dispose\n pickable?: boolean;\n cursor?: string;\n}\nexport interface TextElement extends baseElement {\n type: 'text';\n text: string | ((value: string) => string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n color?: string | ((value: string) => string);\n lineWidth: number;\n fontSize?: number | ((value: string) => number);\n fontFamily?: string | ((value: string) => string);\n fontWeight?: string | number | ((value: string) => string | number);\n fontVariant?: string;\n fontStyle?: string;\n ellipsis?: boolean | string;\n maxLineWidth?: number;\n textAlign?: TextAlignType;\n textBaseline?: TextBaselineType;\n lineHeight?: number;\n underline?: number;\n lineThrough?: number;\n heightLimit?: number;\n lineClamp?: number;\n width?: number;\n height?: number;\n background?: {\n fill?: string;\n expandY?: number;\n expandX?: number;\n cornerRadius?: number;\n };\n}\nexport interface LineElement extends Omit<baseElement, 'x' | 'y'> {\n type: 'line';\n stroke?: string | ((value: string) => string);\n points: { x: number; y: number }[];\n lineWidth?: number;\n}\n\nexport interface RectElement extends baseElement {\n type: 'rect';\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n radius?: number | string | ((value: string) => number | string);\n}\n\nexport interface CircleElement extends baseElement {\n type: 'circle';\n radius: number | string | ((value: string) => number | string);\n // radian?: number | string | ((value: string) => number | string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n}\nexport interface ArcElement extends baseElement {\n type: 'arc';\n radius: number | string | ((value: string) => number | string);\n startAngle?: number | ((value: string) => number);\n endAngle?: number | ((value: string) => number);\n // clockWise?: boolean;\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n}\nexport interface IconElement extends baseElement {\n type: 'icon';\n svg: string | ((value: string) => string);\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n hover?: {\n x: number | string;\n y: number | string;\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n bgColor: string;\n radius?: number;\n };\n}\nexport interface ImageElement extends baseElement {\n type: 'image';\n src: string | ((value: string) => string);\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n hover?: {\n x: number | string;\n y: number | string;\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n bgColor: string;\n radius?: number;\n };\n shape?: 'circle' | 'square';\n}\nexport type ICustomRenderElement =\n | TextElement\n | RectElement\n | CircleElement\n | IconElement\n | ImageElement\n | ArcElement\n | LineElement;\nexport type ICustomRenderElements = Array<ICustomRenderElement>;\n\nexport type ICustomRenderFuc = (args: CustomRenderFunctionArg) => ICustomRenderObj;\n\nexport type ICustomRenderObj = {\n /** 配置出来的类型集合 */\n elements: ICustomRenderElements;\n /** 期望单元格的高度 */\n expectedHeight: number;\n /** 期望单元格的宽度 */\n expectedWidth: number;\n /**\n * 是否还需要默认渲染内容 只有配置true才绘制 默认 不绘制\n */\n renderDefault?: boolean;\n};\n\nexport type ICustomRender = ICustomRenderFuc | ICustomRenderObj;\n"]}
@@ -1,7 +1,7 @@
1
1
  import type { Container } from '../render/layout';
2
2
  import type { CustomRenderFunctionArg } from './customElement';
3
3
  export type ICustomLayoutObj = {
4
- rootContainer: Container;
4
+ rootContainer: Container | any;
5
5
  renderDefault?: boolean;
6
6
  enableCellPadding?: boolean;
7
7
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/customLayout.ts"],"names":[],"mappings":"","file":"customLayout.js","sourcesContent":["import type { Container } from '../render/layout';\nimport type { CustomRenderFunctionArg } from './customElement';\n\nexport type ICustomLayoutObj = {\n rootContainer: Container;\n /**\n * 是否还需要默认渲染内容 只有配置true才绘制 默认 不绘制\n */\n renderDefault?: boolean;\n /**\n * 是否还启用style中的padding\n */\n enableCellPadding?: boolean;\n};\n\nexport type ICustomLayoutFuc = (args: CustomRenderFunctionArg) => ICustomLayoutObj;\n\nexport type ICustomLayout = ICustomLayoutFuc;\n"]}
1
+ {"version":3,"sources":["../src/ts-types/customLayout.ts"],"names":[],"mappings":"","file":"customLayout.js","sourcesContent":["import type { Container } from '../render/layout';\nimport type { CustomRenderFunctionArg } from './customElement';\n\nexport type ICustomLayoutObj = {\n rootContainer: Container | any;\n /**\n * 是否还需要默认渲染内容 只有配置true才绘制 默认 不绘制\n */\n renderDefault?: boolean;\n /**\n * 是否还启用style中的padding\n */\n enableCellPadding?: boolean;\n};\n\nexport type ICustomLayoutFuc = (args: CustomRenderFunctionArg) => ICustomLayoutObj;\n\nexport type ICustomLayout = ICustomLayoutFuc;\n"]}
@@ -1,9 +1,9 @@
1
- import type { CellAddress, CellRange, CellLocation, FieldDef } from './table-engine';
1
+ import type { CellAddress, CellRange, CellLocation, FieldDef, CellAddressWithBound } from './table-engine';
2
2
  import type { DropDownMenuEventArgs, MenuListItem, PivotInfo } from './menu';
3
3
  import type { IDimensionInfo, RectProps, SortOrder } from './common';
4
4
  import type { IconFuncTypeEnum, CellInfo, HierarchyState } from '.';
5
5
  import type { Icon } from '../scenegraph/graphic/icon';
6
- import type { FederatedPointerEvent, IEventTarget } from '@visactor/vrender';
6
+ import type { FederatedPointerEvent, IEventTarget } from './../vrender';
7
7
  export type KeyboardEventListener = (e: KeyboardEvent) => void;
8
8
  export type TableEventListener<TYPE extends keyof TableEventHandlersEventArgumentMap> = (args: TableEventHandlersEventArgumentMap[TYPE]) => TableEventHandlersReturnMap[TYPE];
9
9
  export type EventListenerId = number;
@@ -24,8 +24,7 @@ export type KeydownEvent = {
24
24
  stopCellMoving?: () => void;
25
25
  scaleRatio?: number;
26
26
  };
27
- export type MousePointerCellEvent = CellAddress & CellInfo & {
28
- related?: CellAddress;
27
+ export type MousePointerCellEvent = CellAddressWithBound & CellInfo & {
29
28
  scaleRatio?: number;
30
29
  targetIcon?: {
31
30
  name: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/events.ts"],"names":[],"mappings":"","file":"events.js","sourcesContent":["import type { CellAddress, CellRange, CellLocation, FieldDef } from './table-engine';\nimport type { DropDownMenuEventArgs, MenuListItem, PivotInfo } from './menu';\n\nimport type { AnyFunction, IDimensionInfo, RectProps, SortOrder } from './common';\nimport type { IconFuncTypeEnum, CellInfo, HierarchyState } from '.';\nimport type { Icon } from '../scenegraph/graphic/icon';\nimport type { FederatedPointerEvent, IEventTarget } from '@visactor/vrender';\n\nexport type KeyboardEventListener = (e: KeyboardEvent) => void;\nexport type TableEventListener<TYPE extends keyof TableEventHandlersEventArgumentMap> = (\n args: TableEventHandlersEventArgumentMap[TYPE]\n) => TableEventHandlersReturnMap[TYPE]; //AnyFunction;\nexport type EventListenerId = number;\n\nexport type SelectedCellEvent = CellAddress & {\n ranges: CellRange[];\n};\n\n// export type MouseCellEvent = CellAddress & {\n// event: MouseEvent | PointerEvent | TouchEvent;\n// };\n\nexport type MenuEvent = CellAddress & {\n dropDownMenu: MenuListItem[];\n pivotInfo: PivotInfo;\n};\n\nexport type TouchCellEvent = CellAddress & {\n event: TouchEvent;\n};\n\nexport type KeydownEvent = {\n keyCode: number;\n code: string;\n event: KeyboardEvent;\n stopCellMoving?: () => void;\n scaleRatio?: number;\n};\n\nexport type MousePointerCellEvent = CellAddress &\n CellInfo & {\n related?: CellAddress;\n scaleRatio?: number;\n targetIcon?: { name: string; position: RectProps; funcType: string };\n event?: MouseEvent | PointerEvent | TouchEvent;\n federatedEvent?: FederatedPointerEvent;\n target: IEventTarget | undefined;\n };\n// 多单元格的事件传出参数 需要将当前鼠标处的单元格的信息FocusedCellInfo也带着\nexport type MousePointerMultiCellEvent = MousePointerCellEvent & {\n cells: CellInfo[][];\n // menuKey?: string;\n};\n\nexport type MousePointerSparklineEvent = MousePointerCellEvent & {\n sparkline: {\n pointData: any;\n };\n};\n\nexport interface TableEventHandlersEventArgumentMap {\n selected_cell: SelectedCellEvent;\n click_cell: MousePointerCellEvent;\n dblclick_cell: MousePointerCellEvent;\n mouseenter_table: MousePointerCellEvent;\n mouseleave_table: MousePointerCellEvent;\n mouseenter_cell: MousePointerCellEvent;\n mouseleave_cell: MousePointerCellEvent;\n mousemove_cell: MousePointerCellEvent;\n mousedown_cell: MousePointerCellEvent;\n mouseup_cell: MousePointerCellEvent;\n contextmenu_cell: MousePointerMultiCellEvent;\n keydown: KeydownEvent;\n scroll: {\n scrollLeft: number;\n scrollTop: number;\n scrollWidth: number;\n scrollHeight: number;\n viewWidth: number;\n viewHeight: number;\n scrollDirection: 'horizontal' | 'vertical';\n scrollRatioX?: number;\n scrollRatioY?: number;\n };\n resize_column: { col: number; colWidth: number };\n resize_column_end: { col: number; columns: number[] };\n change_header_position: { source: CellAddress; target: CellAddress };\n sort_click: {\n field: FieldDef;\n order: SortOrder;\n };\n freeze_click: { col: number; row: number; fields: FieldDef[]; colCount: number };\n dropdown_menu_click: DropDownMenuEventArgs;\n\n mouseover_chart_symbol: MousePointerSparklineEvent;\n\n drag_select_end: MousePointerMultiCellEvent;\n copy_data: { cellRange: CellRange[]; copyData: string };\n drillmenu_click: DrillMenuEventInfo;\n\n dropdown_icon_click: CellAddress;\n dropdown_menu_clear: CellAddress;\n\n show_menu: {\n x: number;\n y: number;\n col: number;\n row: number;\n type: 'dropDown' | 'contextmenu' | 'custom';\n };\n hide_menu: [];\n icon_click: {\n name: string;\n col: number;\n row: number;\n x: number;\n y: number;\n funcType?: IconFuncTypeEnum | string;\n icon: Icon;\n };\n\n pivot_sort_click: {\n col: number;\n row: number;\n order: SortOrder;\n dimensionInfo: IDimensionInfo[];\n cellLocation: CellLocation;\n };\n tree_hierarchy_state_change: {\n col: number;\n row: number;\n hierarchyState: HierarchyState;\n dimensionInfo?: IDimensionInfo[];\n /**整条数据-原始数据 */\n originData?: any;\n };\n vchart_event_type: {\n eventName: string;\n col: number;\n row: number;\n chartEventArguments: any;\n };\n //datasource部分的事件\n change_order: [];\n source_length_update: number;\n\n legend_item_click: { model: any; value: any; event: PointerEvent };\n legend_item_hover: { model: any; value: any; event: PointerEvent };\n legend_item_unHover: { model: any; value: any; event: PointerEvent };\n legend_change: { model: any; value: any; event: PointerEvent };\n\n mouseenter_axis: MousePointerCellEvent & { axisPosition: 'left' | 'right' | 'top' | 'bottom' };\n mouseleave_axis: MousePointerCellEvent & { axisPosition: 'left' | 'right' | 'top' | 'bottom' };\n\n checkbox_state_change: MousePointerCellEvent & { checked: boolean };\n after_render: null;\n initialized: null;\n\n change_cell_value: { col: number; row: number; rawValue: string | number; changedValue: string | number };\n}\nexport interface DrillMenuEventInfo {\n dimensionKey: string | number;\n title: string;\n drillDown: boolean;\n drillUp: boolean;\n col: number;\n row: number;\n}\nexport interface TableEventHandlersReturnMap {\n selected_cell: void;\n click_cell: void;\n dblclick_cell: void;\n mouseenter_table: void;\n mouseleave_table: void;\n mouseenter_cell: void;\n mouseleave_cell: void;\n // mouseover_cell: void;\n mouseout_cell: void;\n mousemove_cell: void;\n mousedown_cell: boolean;\n mouseup_cell: void;\n contextmenu_cell: void;\n keydown: void;\n scroll: void;\n focus_table: void;\n blur_table: void;\n resize_column: void;\n resize_column_end: void;\n change_header_position: void;\n sort_click: boolean;\n freeze_click: void;\n dropdown_menu_click: void;\n\n mouseover_chart_symbol: void;\n drag_select_end: void;\n copy_data: void;\n drillmenu_click: void;\n\n dropdown_icon_click: void;\n dropdown_menu_clear: void;\n\n show_menu: void;\n hide_menu: void;\n icon_click: void;\n\n pivot_sort_click: void;\n\n tree_hierarchy_state_change: void;\n\n vchart_event_type: void;\n //datasource部分的事件\n change_order: void;\n source_length_update: void;\n legend_item_click: void;\n legend_item_hover: void;\n legend_item_unHover: void;\n legend_change: void;\n\n mouseenter_axis: void;\n mouseleave_axis: void;\n\n checkbox_state_change: void;\n after_render: void;\n initialized: void;\n\n change_cell_value: void;\n}\n"]}
1
+ {"version":3,"sources":["../src/ts-types/events.ts"],"names":[],"mappings":"","file":"events.js","sourcesContent":["import type { CellAddress, CellRange, CellLocation, FieldDef, CellAddressWithBound } from './table-engine';\nimport type { DropDownMenuEventArgs, MenuListItem, PivotInfo } from './menu';\n\nimport type { IDimensionInfo, RectProps, SortOrder } from './common';\nimport type { IconFuncTypeEnum, CellInfo, HierarchyState } from '.';\nimport type { Icon } from '../scenegraph/graphic/icon';\nimport type { FederatedPointerEvent, IEventTarget } from './../vrender';\n\nexport type KeyboardEventListener = (e: KeyboardEvent) => void;\nexport type TableEventListener<TYPE extends keyof TableEventHandlersEventArgumentMap> = (\n args: TableEventHandlersEventArgumentMap[TYPE]\n) => TableEventHandlersReturnMap[TYPE]; //AnyFunction;\nexport type EventListenerId = number;\n\nexport type SelectedCellEvent = CellAddress & {\n ranges: CellRange[];\n};\n\n// export type MouseCellEvent = CellAddress & {\n// event: MouseEvent | PointerEvent | TouchEvent;\n// };\n\nexport type MenuEvent = CellAddress & {\n dropDownMenu: MenuListItem[];\n pivotInfo: PivotInfo;\n};\n\nexport type TouchCellEvent = CellAddress & {\n event: TouchEvent;\n};\n\nexport type KeydownEvent = {\n keyCode: number;\n code: string;\n event: KeyboardEvent;\n stopCellMoving?: () => void;\n scaleRatio?: number;\n};\n\nexport type MousePointerCellEvent = CellAddressWithBound &\n CellInfo & {\n scaleRatio?: number;\n targetIcon?: { name: string; position: RectProps; funcType: string };\n event?: MouseEvent | PointerEvent | TouchEvent;\n federatedEvent?: FederatedPointerEvent;\n target: IEventTarget | undefined;\n };\n// 多单元格的事件传出参数 需要将当前鼠标处的单元格的信息FocusedCellInfo也带着\nexport type MousePointerMultiCellEvent = MousePointerCellEvent & {\n cells: CellInfo[][];\n // menuKey?: string;\n};\n\nexport type MousePointerSparklineEvent = MousePointerCellEvent & {\n sparkline: {\n pointData: any;\n };\n};\n\nexport interface TableEventHandlersEventArgumentMap {\n selected_cell: SelectedCellEvent;\n click_cell: MousePointerCellEvent;\n dblclick_cell: MousePointerCellEvent;\n mouseenter_table: MousePointerCellEvent;\n mouseleave_table: MousePointerCellEvent;\n mouseenter_cell: MousePointerCellEvent;\n mouseleave_cell: MousePointerCellEvent;\n mousemove_cell: MousePointerCellEvent;\n mousedown_cell: MousePointerCellEvent;\n mouseup_cell: MousePointerCellEvent;\n contextmenu_cell: MousePointerMultiCellEvent;\n keydown: KeydownEvent;\n scroll: {\n scrollLeft: number;\n scrollTop: number;\n scrollWidth: number;\n scrollHeight: number;\n viewWidth: number;\n viewHeight: number;\n scrollDirection: 'horizontal' | 'vertical';\n scrollRatioX?: number;\n scrollRatioY?: number;\n };\n resize_column: { col: number; colWidth: number };\n resize_column_end: { col: number; columns: number[] };\n change_header_position: { source: CellAddress; target: CellAddress };\n sort_click: {\n field: FieldDef;\n order: SortOrder;\n };\n freeze_click: { col: number; row: number; fields: FieldDef[]; colCount: number };\n dropdown_menu_click: DropDownMenuEventArgs;\n\n mouseover_chart_symbol: MousePointerSparklineEvent;\n\n drag_select_end: MousePointerMultiCellEvent;\n copy_data: { cellRange: CellRange[]; copyData: string };\n drillmenu_click: DrillMenuEventInfo;\n\n dropdown_icon_click: CellAddress;\n dropdown_menu_clear: CellAddress;\n\n show_menu: {\n x: number;\n y: number;\n col: number;\n row: number;\n type: 'dropDown' | 'contextmenu' | 'custom';\n };\n hide_menu: [];\n icon_click: {\n name: string;\n col: number;\n row: number;\n x: number;\n y: number;\n funcType?: IconFuncTypeEnum | string;\n icon: Icon;\n };\n\n pivot_sort_click: {\n col: number;\n row: number;\n order: SortOrder;\n dimensionInfo: IDimensionInfo[];\n cellLocation: CellLocation;\n };\n tree_hierarchy_state_change: {\n col: number;\n row: number;\n hierarchyState: HierarchyState;\n dimensionInfo?: IDimensionInfo[];\n /**整条数据-原始数据 */\n originData?: any;\n };\n vchart_event_type: {\n eventName: string;\n col: number;\n row: number;\n chartEventArguments: any;\n };\n //datasource部分的事件\n change_order: [];\n source_length_update: number;\n\n legend_item_click: { model: any; value: any; event: PointerEvent };\n legend_item_hover: { model: any; value: any; event: PointerEvent };\n legend_item_unHover: { model: any; value: any; event: PointerEvent };\n legend_change: { model: any; value: any; event: PointerEvent };\n\n mouseenter_axis: MousePointerCellEvent & { axisPosition: 'left' | 'right' | 'top' | 'bottom' };\n mouseleave_axis: MousePointerCellEvent & { axisPosition: 'left' | 'right' | 'top' | 'bottom' };\n\n checkbox_state_change: MousePointerCellEvent & { checked: boolean };\n after_render: null;\n initialized: null;\n\n change_cell_value: { col: number; row: number; rawValue: string | number; changedValue: string | number };\n}\nexport interface DrillMenuEventInfo {\n dimensionKey: string | number;\n title: string;\n drillDown: boolean;\n drillUp: boolean;\n col: number;\n row: number;\n}\nexport interface TableEventHandlersReturnMap {\n selected_cell: void;\n click_cell: void;\n dblclick_cell: void;\n mouseenter_table: void;\n mouseleave_table: void;\n mouseenter_cell: void;\n mouseleave_cell: void;\n // mouseover_cell: void;\n mouseout_cell: void;\n mousemove_cell: void;\n mousedown_cell: boolean;\n mouseup_cell: void;\n contextmenu_cell: void;\n keydown: void;\n scroll: void;\n focus_table: void;\n blur_table: void;\n resize_column: void;\n resize_column_end: void;\n change_header_position: void;\n sort_click: boolean;\n freeze_click: void;\n dropdown_menu_click: void;\n\n mouseover_chart_symbol: void;\n drag_select_end: void;\n copy_data: void;\n drillmenu_click: void;\n\n dropdown_icon_click: void;\n dropdown_menu_clear: void;\n\n show_menu: void;\n hide_menu: void;\n icon_click: void;\n\n pivot_sort_click: void;\n\n tree_hierarchy_state_change: void;\n\n vchart_event_type: void;\n //datasource部分的事件\n change_order: void;\n source_length_update: void;\n legend_item_click: void;\n legend_item_hover: void;\n legend_item_unHover: void;\n legend_change: void;\n\n mouseenter_axis: void;\n mouseleave_axis: void;\n\n checkbox_state_change: void;\n after_render: void;\n initialized: void;\n\n change_cell_value: void;\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { BaseCellInfo, CellInfo, SortOption } from '../../common';
1
+ import type { BaseCellInfo, CellInfo, MergeCellOption, SortOption } from '../../common';
2
2
  import type { ICustomRender } from '../../customElement';
3
3
  import type { ICustomLayout } from '../../customLayout';
4
4
  import type { FieldDef, FieldFormat, FieldKeyDef } from '../../table-engine';
@@ -22,6 +22,9 @@ export interface IBasicHeaderDefine {
22
22
  dragHeader?: boolean;
23
23
  columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';
24
24
  disableColumnResize?: boolean;
25
+ headerEditor?: string | IEditor | ((args: BaseCellInfo & {
26
+ table: BaseTableAPI;
27
+ }) => string | IEditor);
25
28
  }
26
29
  export interface IBasicColumnBodyDefine {
27
30
  field: FieldDef;
@@ -34,6 +37,7 @@ export interface IBasicColumnBodyDefine {
34
37
  icon?: string | ColumnIconOption | (string | ColumnIconOption)[] | ((args: CellInfo & {
35
38
  table: BaseTableAPI;
36
39
  }) => string | ColumnIconOption | (string | ColumnIconOption)[]);
40
+ mergeCell?: MergeCellOption;
37
41
  customRender?: ICustomRender;
38
42
  customLayout?: ICustomLayout;
39
43
  editor?: string | IEditor | ((args: BaseCellInfo & {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/list-table/define/basic-define.ts"],"names":[],"mappings":"","file":"basic-define.js","sourcesContent":["import type { BaseCellInfo, CellInfo, SortOption } from '../../common';\nimport type { ICustomRender } from '../../customElement';\nimport type { ICustomLayout } from '../../customLayout';\nimport type { FieldDef, FieldFormat, FieldKeyDef } from '../../table-engine';\nimport type { ColumnIconOption } from '../../icon';\nimport type { MenuListItem } from '../../menu';\nimport type { BaseTableAPI } from '../../base-table';\nimport type { IEditor } from '@visactor/vtable-editors';\n\n// eslint-disable-next-line no-unused-vars\nexport interface IBasicHeaderDefine {\n // 表头的标题\n title?: string | (() => string); //支持图文混合\n /** @deprecated\n * 已废除该配置 标题中显示图标 现在请使用headerIcon进行配置\n */\n // captionIcon?: ColumnIconOption;\n /** 表头Icon配置 */\n headerIcon?: string | ColumnIconOption | (string | ColumnIconOption)[];\n // | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n\n // headerStyle?: HeaderStyleOption | null;\n // style?: ColumnStyleOption | null;\n // headerType?: HeaderTypeOption | headerType.BaseHeader | null;\n /** sort排序规则 */\n sort?: SortOption;\n /** 显示sort排序icon。为了仅仅显示图标,无排序逻辑。如果设置了sort字段 肯定会显示图标,会省略这个配置 */\n showSort?: boolean;\n /** 该列不支持hover交互行为 */\n disableHover?: boolean;\n // /** 点击表头单元格时连带body整行或整列选中 或仅选中当前单元格,默认或整行或整列选中*/\n // headerSelectMode?: 'inline' | 'cell';\n /** 该列不支持选中 */\n disableSelect?: boolean;\n /** 该列表头不支持hover交互行为 */\n disableHeaderHover?: boolean;\n /** 该列表头不支持选中 */\n disableHeaderSelect?: boolean;\n /** 表头hover时的描述信息 会以tooltip形式展示出来 */\n description?: string;\n /** 下拉菜单项配置 */\n dropDownMenu?: MenuListItem[];\n /** 表头自定义渲染函数 */\n headerCustomRender?: ICustomRender;\n /** 表头自定义渲染元素定义 */\n headerCustomLayout?: ICustomLayout;\n /** 是否可以拖拽表头 */\n dragHeader?: boolean;\n /**\n * 列宽计算模式,only-header只考虑表头的内容 only-body只考虑body的内容 normal能被显示出来的所有内容\n */\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n /**\n * 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n */\n disableColumnResize?: boolean;\n}\n\nexport interface IBasicColumnBodyDefine {\n field: FieldDef;\n /** @deprecated 已不维护 */\n fieldKey?: FieldKeyDef;\n fieldFormat?: FieldFormat;\n width?: number | string;\n minWidth?: number | string;\n maxWidth?: number | string;\n //是否展示为树形结构\n tree?: boolean;\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo & { table: BaseTableAPI }) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n\n // cellType?: ColumnTypeOption | BaseColumn<T, any> | null;\n\n // /** 如果是绘制图表库组件的图表类型 需要将注入的组件名称 写到chartType */\n // chartModule?: string;\n // /** 如果是绘制图表库组件的图表类型 统一图表配置chartSpec */\n // chartSpec?: any | ((arg0: CellInfo) => any);\n // sparklineSpec?: SparklineSpec | ((arg0: CellInfo) => SparklineSpec);\n // style?: ColumnStyleOption | null;\n\n customRender?: ICustomRender;\n customLayout?: ICustomLayout;\n editor?: string | IEditor | ((args: BaseCellInfo & { table: BaseTableAPI }) => string | IEditor);\n}\n"]}
1
+ {"version":3,"sources":["../src/ts-types/list-table/define/basic-define.ts"],"names":[],"mappings":"","file":"basic-define.js","sourcesContent":["import type { BaseCellInfo, CellInfo, MergeCellOption, SortOption } from '../../common';\nimport type { ICustomRender } from '../../customElement';\nimport type { ICustomLayout } from '../../customLayout';\nimport type { FieldDef, FieldFormat, FieldKeyDef } from '../../table-engine';\nimport type { ColumnIconOption } from '../../icon';\nimport type { MenuListItem } from '../../menu';\nimport type { BaseTableAPI } from '../../base-table';\nimport type { IEditor } from '@visactor/vtable-editors';\n\n// eslint-disable-next-line no-unused-vars\nexport interface IBasicHeaderDefine {\n // 表头的标题\n title?: string | (() => string); //支持图文混合\n /** @deprecated\n * 已废除该配置 标题中显示图标 现在请使用headerIcon进行配置\n */\n // captionIcon?: ColumnIconOption;\n /** 表头Icon配置 */\n headerIcon?: string | ColumnIconOption | (string | ColumnIconOption)[];\n // | ((args: CellInfo) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n\n // headerStyle?: HeaderStyleOption | null;\n // style?: ColumnStyleOption | null;\n // headerType?: HeaderTypeOption | headerType.BaseHeader | null;\n /** sort排序规则 */\n sort?: SortOption;\n /** 显示sort排序icon。为了仅仅显示图标,无排序逻辑。如果设置了sort字段 肯定会显示图标,会省略这个配置 */\n showSort?: boolean;\n /** 该列不支持hover交互行为 */\n disableHover?: boolean;\n // /** 点击表头单元格时连带body整行或整列选中 或仅选中当前单元格,默认或整行或整列选中*/\n // headerSelectMode?: 'inline' | 'cell';\n /** 该列不支持选中 */\n disableSelect?: boolean;\n /** 该列表头不支持hover交互行为 */\n disableHeaderHover?: boolean;\n /** 该列表头不支持选中 */\n disableHeaderSelect?: boolean;\n /** 表头hover时的描述信息 会以tooltip形式展示出来 */\n description?: string;\n /** 下拉菜单项配置 */\n dropDownMenu?: MenuListItem[];\n /** 表头自定义渲染函数 */\n headerCustomRender?: ICustomRender;\n /** 表头自定义渲染元素定义 */\n headerCustomLayout?: ICustomLayout;\n /** 是否可以拖拽表头 */\n dragHeader?: boolean;\n /**\n * 列宽计算模式,only-header只考虑表头的内容 only-body只考虑body的内容 normal能被显示出来的所有内容\n */\n columnWidthComputeMode?: 'normal' | 'only-header' | 'only-body';\n /**\n * 是否禁用调整列宽,如果是转置表格或者是透视表的指标是行方向指定 那该配置不生效\n */\n disableColumnResize?: boolean;\n headerEditor?: string | IEditor | ((args: BaseCellInfo & { table: BaseTableAPI }) => string | IEditor);\n}\n\nexport interface IBasicColumnBodyDefine {\n field: FieldDef;\n /** @deprecated 已不维护 */\n fieldKey?: FieldKeyDef;\n fieldFormat?: FieldFormat;\n width?: number | string;\n minWidth?: number | string;\n maxWidth?: number | string;\n //是否展示为树形结构\n tree?: boolean;\n icon?:\n | string\n | ColumnIconOption\n | (string | ColumnIconOption)[]\n | ((args: CellInfo & { table: BaseTableAPI }) => string | ColumnIconOption | (string | ColumnIconOption)[]);\n\n // cellType?: ColumnTypeOption | BaseColumn<T, any> | null;\n\n // /** 如果是绘制图表库组件的图表类型 需要将注入的组件名称 写到chartType */\n // chartModule?: string;\n // /** 如果是绘制图表库组件的图表类型 统一图表配置chartSpec */\n // chartSpec?: any | ((arg0: CellInfo) => any);\n // sparklineSpec?: SparklineSpec | ((arg0: CellInfo) => SparklineSpec);\n // style?: ColumnStyleOption | null;\n /** 是否对相同内容合并单元格 **/\n mergeCell?: MergeCellOption;\n customRender?: ICustomRender;\n customLayout?: ICustomLayout;\n editor?: string | IEditor | ((args: BaseCellInfo & { table: BaseTableAPI }) => string | IEditor);\n}\n"]}
@@ -6,10 +6,12 @@ export interface IImageHeaderDefine extends IBasicHeaderDefine {
6
6
  headerType: 'image' | 'video';
7
7
  keepAspectRatio?: boolean;
8
8
  imageAutoSizing?: boolean;
9
+ clickToPreview?: boolean;
9
10
  }
10
11
  export interface IImageColumnBodyDefine extends IBasicColumnBodyDefine {
11
12
  style?: IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption);
12
13
  cellType: 'image' | 'video';
13
14
  keepAspectRatio?: boolean;
14
15
  imageAutoSizing?: boolean;
16
+ clickToPreview?: boolean;
15
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/list-table/define/image-define.ts"],"names":[],"mappings":"","file":"image-define.js","sourcesContent":["import type { IImageStyleOption } from '../../column';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { IBasicColumnBodyDefine, IBasicHeaderDefine } from './basic-define';\n\nexport interface IImageHeaderDefine extends IBasicHeaderDefine {\n headerStyle?: IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption);\n headerType: 'image' | 'video';\n\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n}\n\nexport interface IImageColumnBodyDefine extends IBasicColumnBodyDefine {\n style?: IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption);\n cellType: 'image' | 'video';\n\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n}\n"]}
1
+ {"version":3,"sources":["../src/ts-types/list-table/define/image-define.ts"],"names":[],"mappings":"","file":"image-define.js","sourcesContent":["import type { IImageStyleOption } from '../../column';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { IBasicColumnBodyDefine, IBasicHeaderDefine } from './basic-define';\n\nexport interface IImageHeaderDefine extends IBasicHeaderDefine {\n headerStyle?: IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption);\n headerType: 'image' | 'video';\n\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n\n /** 点击开启预览 */\n clickToPreview?: boolean;\n}\n\nexport interface IImageColumnBodyDefine extends IBasicColumnBodyDefine {\n style?: IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption);\n cellType: 'image' | 'video';\n\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n\n /** 点击开启预览 */\n clickToPreview?: boolean;\n}\n"]}
@@ -6,7 +6,6 @@ export interface ITextHeaderDefine extends IBasicHeaderDefine {
6
6
  headerType?: 'text';
7
7
  }
8
8
  export interface ITextColumnBodyDefine extends IBasicColumnBodyDefine {
9
- mergeCell?: boolean;
10
9
  style?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption);
11
10
  cellType?: 'text';
12
11
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/list-table/define/multilinetext-define.ts"],"names":[],"mappings":"","file":"multilinetext-define.js","sourcesContent":["import type { ITextStyleOption } from '../../column';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { IBasicColumnBodyDefine, IBasicHeaderDefine } from './basic-define';\n\nexport interface ITextHeaderDefine extends IBasicHeaderDefine {\n headerStyle?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption);\n headerType?: 'text';\n\n // 目前autoWrapText和lineClamp还在style中定义\n // autoWrapText?: boolean;\n // lineClamp?: LineClamp;\n}\n\nexport interface ITextColumnBodyDefine extends IBasicColumnBodyDefine {\n /** 是否对相同内容合并单元格 **/\n mergeCell?: boolean;\n style?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption);\n cellType?: 'text';\n\n // 目前autoWrapText和lineClamp还在style中定义\n // autoWrapText?: boolean;\n // lineClamp?: LineClamp;\n}\n"]}
1
+ {"version":3,"sources":["../src/ts-types/list-table/define/multilinetext-define.ts"],"names":[],"mappings":"","file":"multilinetext-define.js","sourcesContent":["import type { ITextStyleOption } from '../../column';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { IBasicColumnBodyDefine, IBasicHeaderDefine } from './basic-define';\n\nexport interface ITextHeaderDefine extends IBasicHeaderDefine {\n headerStyle?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption);\n headerType?: 'text';\n\n // 目前autoWrapText和lineClamp还在style中定义\n // autoWrapText?: boolean;\n // lineClamp?: LineClamp;\n}\n\nexport interface ITextColumnBodyDefine extends IBasicColumnBodyDefine {\n style?: ITextStyleOption | ((styleArg: StylePropertyFunctionArg) => ITextStyleOption);\n cellType?: 'text';\n\n // 目前autoWrapText和lineClamp还在style中定义\n // autoWrapText?: boolean;\n // lineClamp?: LineClamp;\n}\n"]}
@@ -6,4 +6,5 @@ export interface IImageDimension extends IBasicDimension {
6
6
  headerStyle?: IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption);
7
7
  keepAspectRatio?: boolean;
8
8
  imageAutoSizing?: boolean;
9
+ clickToPreview?: boolean;
9
10
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/pivot-table/dimension/image-dimension.ts"],"names":[],"mappings":"","file":"image-dimension.js","sourcesContent":["import type { IImageStyleOption } from '../../column';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { IBasicDimension } from './basic-dimension';\n\nexport interface IImageDimension extends IBasicDimension {\n headerType: 'image' | 'video';\n headerStyle?:\n | IImageStyleOption //表头可以配置吸附;\n | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption); //该维度层级表头部分的样式\n\n // 目前autoWrapText和lineClamp还在style中定义\n // autoWrapText?: boolean;\n // lineClamp?: LineClamp;\n\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean; // 是否自动撑开单元格尺寸\n}\n"]}
1
+ {"version":3,"sources":["../src/ts-types/pivot-table/dimension/image-dimension.ts"],"names":[],"mappings":"","file":"image-dimension.js","sourcesContent":["import type { IImageStyleOption } from '../../column';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { IBasicDimension } from './basic-dimension';\n\nexport interface IImageDimension extends IBasicDimension {\n headerType: 'image' | 'video';\n headerStyle?:\n | IImageStyleOption //表头可以配置吸附;\n | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption); //该维度层级表头部分的样式\n\n // 目前autoWrapText和lineClamp还在style中定义\n // autoWrapText?: boolean;\n // lineClamp?: LineClamp;\n\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean; // 是否自动撑开单元格尺寸\n\n /** 点击开启预览 */\n clickToPreview?: boolean;\n}\n"]}
@@ -6,10 +6,12 @@ export interface IImageHeaderIndicator extends IBasicHeaderIndicator {
6
6
  headerStyle?: IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption);
7
7
  keepAspectRatio?: boolean;
8
8
  imageAutoSizing?: boolean;
9
+ clickToPreview?: boolean;
9
10
  }
10
11
  export interface IImageColumnIndicator extends IBasicColumnIndicator {
11
12
  cellType: 'image' | 'video';
12
13
  style?: IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption);
13
14
  keepAspectRatio?: boolean;
14
15
  imageAutoSizing?: boolean;
16
+ clickToPreview?: boolean;
15
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ts-types/pivot-table/indicator/image-indicator.ts"],"names":[],"mappings":"","file":"image-indicator.js","sourcesContent":["import type { IImageStyleOption } from '../../column';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { IBasicColumnIndicator, IBasicHeaderIndicator } from './basic-indicator';\n\nexport interface IImageHeaderIndicator extends IBasicHeaderIndicator {\n headerType: 'image' | 'video'; // 指标表头类型\n headerStyle?:\n | IImageStyleOption //表头可以配置吸附;\n | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption); // 指标名称在表头部分显示类型\n\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n}\n\nexport interface IImageColumnIndicator extends IBasicColumnIndicator {\n cellType: 'image' | 'video'; // body指标值显示类型\n style?: IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption); // body部分指标值显示样式\n\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n}\n"]}
1
+ {"version":3,"sources":["../src/ts-types/pivot-table/indicator/image-indicator.ts"],"names":[],"mappings":"","file":"image-indicator.js","sourcesContent":["import type { IImageStyleOption } from '../../column';\nimport type { StylePropertyFunctionArg } from '../../style-define';\nimport type { IBasicColumnIndicator, IBasicHeaderIndicator } from './basic-indicator';\n\nexport interface IImageHeaderIndicator extends IBasicHeaderIndicator {\n headerType: 'image' | 'video'; // 指标表头类型\n headerStyle?:\n | IImageStyleOption //表头可以配置吸附;\n | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption); // 指标名称在表头部分显示类型\n\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n\n /** 点击开启预览 */\n clickToPreview?: boolean;\n}\n\nexport interface IImageColumnIndicator extends IBasicColumnIndicator {\n cellType: 'image' | 'video'; // body指标值显示类型\n style?: IImageStyleOption | ((styleArg: StylePropertyFunctionArg) => IImageStyleOption); // body部分指标值显示样式\n\n /** 是否保持横纵比 默认false */\n keepAspectRatio?: boolean;\n /** 是否按图片尺寸自动撑开单元格尺寸 默认false */\n imageAutoSizing?: boolean;\n\n /** 点击开启预览 */\n clickToPreview?: boolean;\n}\n"]}
@@ -16,6 +16,10 @@ import type { EditManeger } from '../edit/edit-manager';
16
16
  export interface CellAddress {
17
17
  col: number;
18
18
  row: number;
19
+ }
20
+ export interface CellAddressWithBound {
21
+ col: number;
22
+ row: number;
19
23
  rect?: RectProps;
20
24
  x?: number;
21
25
  y?: number;
@@ -40,8 +44,15 @@ export type ShowColumnRowType = 'column' | 'row' | 'none';
40
44
  export type CellLocation = 'body' | 'rowHeader' | 'columnHeader' | 'cornerHeader';
41
45
  export type CellSubLocation = 'body' | 'rowHeader' | 'columnHeader' | 'cornerHeader' | 'bottomFrozen' | 'rightFrozen' | 'rightTopCorner' | 'leftBottomCorner' | 'rightBottomCorner';
42
46
  export interface TableKeyboardOptions {
47
+ moveFocusCellOnTab?: boolean;
48
+ editCellOnEnter?: boolean;
49
+ moveEditCellOnArrowKeys?: boolean;
43
50
  selectAllOnCtrlA?: boolean;
44
51
  copySelected?: boolean;
52
+ pasteValueToCell?: boolean;
53
+ }
54
+ export interface TableEventOptions {
55
+ preventDefaultContextMenu?: boolean;
45
56
  }
46
57
  export interface DataSourceAPI {
47
58
  clearCurrentIndexedData: () => void;
@@ -82,6 +93,9 @@ export interface ListTableConstructorOptions extends BaseTableConstructorOptions
82
93
  hierarchyExpandLevel?: number;
83
94
  pagination?: IPagination;
84
95
  sortState?: SortState | SortState[];
96
+ headerEditor?: string | IEditor | ((args: BaseCellInfo & {
97
+ table: BaseTableAPI;
98
+ }) => string | IEditor);
85
99
  editor?: string | IEditor | ((args: BaseCellInfo & {
86
100
  table: BaseTableAPI;
87
101
  }) => string | IEditor);
@@ -94,6 +108,7 @@ export interface ListTableAPI extends BaseTableAPI {
94
108
  isListTable: () => true;
95
109
  isPivotTable: () => false;
96
110
  changeCellValue: (col: number, row: number, value: string | number | null) => void;
111
+ changeCellValues: (col: number, row: number, values: (string | number)[][]) => void;
97
112
  getFieldData: (field: FieldDef | FieldFormat | undefined, col: number, row: number) => FieldData;
98
113
  getEditor: (col: number, row: number) => IEditor;
99
114
  startEditCell: (col?: number, row?: number) => void;
@@ -161,6 +176,8 @@ export interface PivotTableAPI extends BaseTableAPI {
161
176
  isPivotTable: () => true;
162
177
  getPivotSortState: (col: number, row: number) => SortOrder;
163
178
  toggleHierarchyState: (col: number, row: number) => void;
179
+ changeCellValue: (col: number, row: number, value: string | number | null) => void;
180
+ changeCellValues: (col: number, row: number, values: (string | number)[][]) => void;
164
181
  }
165
182
  export interface PivotChartAPI extends BaseTableAPI {
166
183
  records?: any | Record<string, any[]>;