@kdcloudjs/table 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) hide show
  1. package/LICENSE +568 -0
  2. package/README.md +111 -0
  3. package/dist/@kdcloudjs/table.css +422 -0
  4. package/dist/@kdcloudjs/table.css.map +1 -0
  5. package/dist/@kdcloudjs/table.js +38578 -0
  6. package/dist/@kdcloudjs/table.js.map +1 -0
  7. package/dist/@kdcloudjs/table.min.css +9 -0
  8. package/dist/@kdcloudjs/table.min.js +208 -0
  9. package/dist/@kdcloudjs/table.min.js.map +1 -0
  10. package/dist/default-theme.js +344 -0
  11. package/dist/kd-table.css +422 -0
  12. package/dist/kd-table.css.map +1 -0
  13. package/dist/kd-table.js +38578 -0
  14. package/dist/kd-table.js.map +1 -0
  15. package/dist/kd-table.min.css +9 -0
  16. package/dist/kd-table.min.js +208 -0
  17. package/dist/kd-table.min.js.map +1 -0
  18. package/dist/kd-ui-complete.less +779 -0
  19. package/dist/kd-ui.less +2 -0
  20. package/dist/theme.js +13 -0
  21. package/es/_utils/arrayUtil.d.ts +5 -0
  22. package/es/_utils/arrayUtil.js +17 -0
  23. package/es/_utils/devwarning.d.ts +1 -0
  24. package/es/_utils/devwarning.js +10 -0
  25. package/es/_utils/formatUtil.d.ts +46 -0
  26. package/es/_utils/formatUtil.js +346 -0
  27. package/es/_utils/hooks.d.ts +51 -0
  28. package/es/_utils/hooks.js +165 -0
  29. package/es/_utils/index.d.ts +8 -0
  30. package/es/_utils/index.js +15 -0
  31. package/es/_utils/numberUtil.d.ts +34 -0
  32. package/es/_utils/numberUtil.js +181 -0
  33. package/es/_utils/omit.d.ts +1 -0
  34. package/es/_utils/omit.js +11 -0
  35. package/es/_utils/react-children.d.ts +2 -0
  36. package/es/_utils/react-children.js +8 -0
  37. package/es/_utils/type.d.ts +12 -0
  38. package/es/_utils/type.js +15 -0
  39. package/es/_utils/usePopper.d.ts +29 -0
  40. package/es/_utils/usePopper.js +546 -0
  41. package/es/config-provider/ConfigContext.d.ts +22 -0
  42. package/es/config-provider/ConfigContext.js +7 -0
  43. package/es/config-provider/compDefaultProps.d.ts +8 -0
  44. package/es/config-provider/compDefaultProps.js +10 -0
  45. package/es/config-provider/configProvider.d.ts +11 -0
  46. package/es/config-provider/configProvider.js +40 -0
  47. package/es/config-provider/defaultConfig.d.ts +10 -0
  48. package/es/config-provider/defaultConfig.js +18 -0
  49. package/es/config-provider/index.d.ts +6 -0
  50. package/es/config-provider/index.js +6 -0
  51. package/es/index.d.ts +2 -0
  52. package/es/index.js +4 -0
  53. package/es/locale/index.d.ts +3 -0
  54. package/es/locale/index.js +3 -0
  55. package/es/locale/locale.d.ts +50 -0
  56. package/es/locale/locale.js +251 -0
  57. package/es/locale/zh-CN.d.ts +8 -0
  58. package/es/locale/zh-CN.js +8 -0
  59. package/es/style/color/colors.less +2 -0
  60. package/es/style/core/index.less +2 -0
  61. package/es/style/core/motion/other.less +28 -0
  62. package/es/style/core/motion/slide.less +53 -0
  63. package/es/style/core/motion.less +2 -0
  64. package/es/style/core/reset.less +186 -0
  65. package/es/style/css.js +1 -0
  66. package/es/style/index.css +410 -0
  67. package/es/style/index.d.ts +1 -0
  68. package/es/style/index.js +1 -0
  69. package/es/style/index.less +2 -0
  70. package/es/style/mixins/index.less +19 -0
  71. package/es/style/mixins/overlay.less +22 -0
  72. package/es/style/mixins/reset.less +13 -0
  73. package/es/style/themes/default.less +445 -0
  74. package/es/style/themes/index.less +1 -0
  75. package/es/table/base/calculations.d.ts +5 -0
  76. package/es/table/base/calculations.js +364 -0
  77. package/es/table/base/colgroup.d.ts +5 -0
  78. package/es/table/base/colgroup.js +22 -0
  79. package/es/table/base/empty.d.ts +9 -0
  80. package/es/table/base/empty.js +38 -0
  81. package/es/table/base/header.d.ts +5 -0
  82. package/es/table/base/header.js +324 -0
  83. package/es/table/base/helpers/SpanManager.d.ts +9 -0
  84. package/es/table/base/helpers/SpanManager.js +50 -0
  85. package/es/table/base/helpers/TableDOMUtils.d.ts +18 -0
  86. package/es/table/base/helpers/TableDOMUtils.js +104 -0
  87. package/es/table/base/helpers/__test__/SpanManager.test.d.ts +1 -0
  88. package/es/table/base/helpers/__test__/SpanManager.test.js +18 -0
  89. package/es/table/base/helpers/__test__/TableDOMUtils.test.d.ts +1 -0
  90. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +34 -0
  91. package/es/table/base/helpers/__test__/rowHeightManager.test.d.ts +1 -0
  92. package/es/table/base/helpers/__test__/rowHeightManager.test.js +30 -0
  93. package/es/table/base/helpers/__test__/visible-part.test.d.ts +1 -0
  94. package/es/table/base/helpers/__test__/visible-part.test.js +28 -0
  95. package/es/table/base/helpers/rowHeightManager.d.ts +7 -0
  96. package/es/table/base/helpers/rowHeightManager.js +157 -0
  97. package/es/table/base/helpers/visible-part.d.ts +23 -0
  98. package/es/table/base/helpers/visible-part.js +58 -0
  99. package/es/table/base/html-table.d.ts +15 -0
  100. package/es/table/base/html-table.js +132 -0
  101. package/es/table/base/index.d.ts +3 -0
  102. package/es/table/base/index.js +2 -0
  103. package/es/table/base/interfaces.d.ts +54 -0
  104. package/es/table/base/interfaces.js +0 -0
  105. package/es/table/base/loading.d.ts +13 -0
  106. package/es/table/base/loading.js +60 -0
  107. package/es/table/base/styles.d.ts +132 -0
  108. package/es/table/base/styles.js +112 -0
  109. package/es/table/base/table.d.ts +150 -0
  110. package/es/table/base/table.js +733 -0
  111. package/es/table/base/utils.d.ts +36 -0
  112. package/es/table/base/utils.js +193 -0
  113. package/es/table/common-views.d.ts +24 -0
  114. package/es/table/common-views.js +70 -0
  115. package/es/table/index.d.ts +6 -0
  116. package/es/table/index.js +6 -0
  117. package/es/table/interfaces.d.ts +98 -0
  118. package/es/table/interfaces.js +0 -0
  119. package/es/table/internals.d.ts +14 -0
  120. package/es/table/internals.js +56 -0
  121. package/es/table/pipeline/features/__test__/multiSelect.test.d.ts +1 -0
  122. package/es/table/pipeline/features/__test__/multiSelect.test.js +152 -0
  123. package/es/table/pipeline/features/__test__/rowDetail.test.d.ts +1 -0
  124. package/es/table/pipeline/features/__test__/rowDetail.test.js +223 -0
  125. package/es/table/pipeline/features/__test__/rowGrouping.test.d.ts +1 -0
  126. package/es/table/pipeline/features/__test__/rowGrouping.test.js +120 -0
  127. package/es/table/pipeline/features/__test__/singleSelect.test.d.ts +1 -0
  128. package/es/table/pipeline/features/__test__/singleSelect.test.js +191 -0
  129. package/es/table/pipeline/features/__test__/sort.test.d.ts +1 -0
  130. package/es/table/pipeline/features/__test__/sort.test.js +213 -0
  131. package/es/table/pipeline/features/__test__/tips.test.d.ts +1 -0
  132. package/es/table/pipeline/features/__test__/tips.test.js +123 -0
  133. package/es/table/pipeline/features/__test__/treeMode.test.d.ts +1 -0
  134. package/es/table/pipeline/features/__test__/treeMode.test.js +202 -0
  135. package/es/table/pipeline/features/autoFill.d.ts +4 -0
  136. package/es/table/pipeline/features/autoFill.js +63 -0
  137. package/es/table/pipeline/features/autoRowSpan.d.ts +2 -0
  138. package/es/table/pipeline/features/autoRowSpan.js +72 -0
  139. package/es/table/pipeline/features/buildTree.d.ts +2 -0
  140. package/es/table/pipeline/features/buildTree.js +8 -0
  141. package/es/table/pipeline/features/columnDrag.d.ts +6 -0
  142. package/es/table/pipeline/features/columnDrag.js +265 -0
  143. package/es/table/pipeline/features/columnFilter.d.ts +20 -0
  144. package/es/table/pipeline/features/columnFilter.js +173 -0
  145. package/es/table/pipeline/features/columnHover.d.ts +12 -0
  146. package/es/table/pipeline/features/columnHover.js +51 -0
  147. package/es/table/pipeline/features/columnRangeHover.d.ts +15 -0
  148. package/es/table/pipeline/features/columnRangeHover.js +83 -0
  149. package/es/table/pipeline/features/columnResizeWidth.d.ts +21 -0
  150. package/es/table/pipeline/features/columnResizeWidth.js +173 -0
  151. package/es/table/pipeline/features/contextMenu.d.ts +14 -0
  152. package/es/table/pipeline/features/contextMenu.js +370 -0
  153. package/es/table/pipeline/features/filter/DefaultFilterContent.d.ts +4 -0
  154. package/es/table/pipeline/features/filter/DefaultFilterContent.js +91 -0
  155. package/es/table/pipeline/features/filter/Filter.d.ts +17 -0
  156. package/es/table/pipeline/features/filter/Filter.js +111 -0
  157. package/es/table/pipeline/features/filter/FilterPanel.d.ts +20 -0
  158. package/es/table/pipeline/features/filter/FilterPanel.js +81 -0
  159. package/es/table/pipeline/features/filter/__test__/Filter.test.d.ts +1 -0
  160. package/es/table/pipeline/features/filter/__test__/Filter.test.js +29 -0
  161. package/es/table/pipeline/features/filter/index.d.ts +4 -0
  162. package/es/table/pipeline/features/filter/index.js +4 -0
  163. package/es/table/pipeline/features/filter/util.d.ts +10 -0
  164. package/es/table/pipeline/features/filter/util.js +67 -0
  165. package/es/table/pipeline/features/index.d.ts +16 -0
  166. package/es/table/pipeline/features/index.js +16 -0
  167. package/es/table/pipeline/features/multiSelect.d.ts +27 -0
  168. package/es/table/pipeline/features/multiSelect.js +208 -0
  169. package/es/table/pipeline/features/rowDetail.d.ts +35 -0
  170. package/es/table/pipeline/features/rowDetail.js +254 -0
  171. package/es/table/pipeline/features/rowGrouping.d.ts +14 -0
  172. package/es/table/pipeline/features/rowGrouping.js +200 -0
  173. package/es/table/pipeline/features/singleSelect.d.ts +23 -0
  174. package/es/table/pipeline/features/singleSelect.js +122 -0
  175. package/es/table/pipeline/features/sort.d.ts +40 -0
  176. package/es/table/pipeline/features/sort.js +332 -0
  177. package/es/table/pipeline/features/tips.d.ts +2 -0
  178. package/es/table/pipeline/features/tips.js +57 -0
  179. package/es/table/pipeline/features/treeMode.d.ts +37 -0
  180. package/es/table/pipeline/features/treeMode.js +234 -0
  181. package/es/table/pipeline/features/treeSelect.d.ts +38 -0
  182. package/es/table/pipeline/features/treeSelect.js +154 -0
  183. package/es/table/pipeline/index.d.ts +3 -0
  184. package/es/table/pipeline/index.js +3 -0
  185. package/es/table/pipeline/pipeline.d.ts +85 -0
  186. package/es/table/pipeline/pipeline.js +272 -0
  187. package/es/table/pivot/cross-table/buildCrossTable.d.ts +14 -0
  188. package/es/table/pivot/cross-table/buildCrossTable.js +294 -0
  189. package/es/table/pivot/cross-table/constants.d.ts +1 -0
  190. package/es/table/pivot/cross-table/constants.js +1 -0
  191. package/es/table/pivot/cross-table/cross-table.d.ts +18 -0
  192. package/es/table/pivot/cross-table/cross-table.js +55 -0
  193. package/es/table/pivot/cross-table/index.d.ts +4 -0
  194. package/es/table/pivot/cross-table/index.js +3 -0
  195. package/es/table/pivot/cross-table/interfaces.d.ts +29 -0
  196. package/es/table/pivot/cross-table/interfaces.js +0 -0
  197. package/es/table/pivot/cross-table/internals.d.ts +13 -0
  198. package/es/table/pivot/cross-table/internals.js +0 -0
  199. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.d.ts +14 -0
  200. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +219 -0
  201. package/es/table/pivot/cross-tree-table/cross-tree-table.d.ts +38 -0
  202. package/es/table/pivot/cross-tree-table/cross-tree-table.js +127 -0
  203. package/es/table/pivot/cross-tree-table/index.d.ts +2 -0
  204. package/es/table/pivot/cross-tree-table/index.js +2 -0
  205. package/es/table/pivot/pivot-utils/buildDrillTree.d.ts +16 -0
  206. package/es/table/pivot/pivot-utils/buildDrillTree.js +93 -0
  207. package/es/table/pivot/pivot-utils/builders.d.ts +26 -0
  208. package/es/table/pivot/pivot-utils/builders.js +252 -0
  209. package/es/table/pivot/pivot-utils/convert-utils.d.ts +31 -0
  210. package/es/table/pivot/pivot-utils/convert-utils.js +180 -0
  211. package/es/table/pivot/pivot-utils/index.d.ts +5 -0
  212. package/es/table/pivot/pivot-utils/index.js +4 -0
  213. package/es/table/pivot/pivot-utils/interfaces.d.ts +12 -0
  214. package/es/table/pivot/pivot-utils/interfaces.js +0 -0
  215. package/es/table/pivot/pivot-utils/simpleEncode.d.ts +1 -0
  216. package/es/table/pivot/pivot-utils/simpleEncode.js +7 -0
  217. package/es/table/style/css.js +2 -0
  218. package/es/table/style/index.css +0 -0
  219. package/es/table/style/index.d.ts +2 -0
  220. package/es/table/style/index.js +2 -0
  221. package/es/table/style/index.less +1 -0
  222. package/es/table/transforms/autoRowSpan.d.ts +3 -0
  223. package/es/table/transforms/autoRowSpan.js +73 -0
  224. package/es/table/transforms/autoWidth.d.ts +25 -0
  225. package/es/table/transforms/autoWidth.js +160 -0
  226. package/es/table/transforms/buildTree.d.ts +3 -0
  227. package/es/table/transforms/buildTree.js +15 -0
  228. package/es/table/transforms/columnHover.d.ts +17 -0
  229. package/es/table/transforms/columnHover.js +59 -0
  230. package/es/table/transforms/columnRangeHover.d.ts +17 -0
  231. package/es/table/transforms/columnRangeHover.js +94 -0
  232. package/es/table/transforms/columnResize.d.ts +27 -0
  233. package/es/table/transforms/columnResize.js +152 -0
  234. package/es/table/transforms/flatten.d.ts +3 -0
  235. package/es/table/transforms/flatten.js +16 -0
  236. package/es/table/transforms/index.d.ts +12 -0
  237. package/es/table/transforms/index.js +12 -0
  238. package/es/table/transforms/orderField.d.ts +3 -0
  239. package/es/table/transforms/orderField.js +22 -0
  240. package/es/table/transforms/sort.d.ts +43 -0
  241. package/es/table/transforms/sort.js +338 -0
  242. package/es/table/transforms/tips.d.ts +8 -0
  243. package/es/table/transforms/tips.js +54 -0
  244. package/es/table/transforms/treeMode.d.ts +30 -0
  245. package/es/table/transforms/treeMode.js +252 -0
  246. package/es/table/transforms/visible.d.ts +5 -0
  247. package/es/table/transforms/visible.js +19 -0
  248. package/es/table/transforms/warnTransformsDeprecated.d.ts +1 -0
  249. package/es/table/transforms/warnTransformsDeprecated.js +8 -0
  250. package/es/table/use/useResizeObserver.d.ts +2 -0
  251. package/es/table/use/useResizeObserver.js +20 -0
  252. package/es/table/utils/applyTransforms.d.ts +6 -0
  253. package/es/table/utils/applyTransforms.js +15 -0
  254. package/es/table/utils/buildTree.d.ts +36 -0
  255. package/es/table/utils/buildTree.js +119 -0
  256. package/es/table/utils/collectNodes.d.ts +8 -0
  257. package/es/table/utils/collectNodes.js +59 -0
  258. package/es/table/utils/console.d.ts +11 -0
  259. package/es/table/utils/console.js +58 -0
  260. package/es/table/utils/copyToClipboard.d.ts +3 -0
  261. package/es/table/utils/copyToClipboard.js +30 -0
  262. package/es/table/utils/element.d.ts +42 -0
  263. package/es/table/utils/element.js +228 -0
  264. package/es/table/utils/exportTableAsExcel.d.ts +4 -0
  265. package/es/table/utils/exportTableAsExcel.js +188 -0
  266. package/es/table/utils/getTreeDepth.d.ts +3 -0
  267. package/es/table/utils/getTreeDepth.js +41 -0
  268. package/es/table/utils/groupBy.d.ts +1 -0
  269. package/es/table/utils/groupBy.js +37 -0
  270. package/es/table/utils/index.d.ts +18 -0
  271. package/es/table/utils/index.js +18 -0
  272. package/es/table/utils/isGroupColumn.d.ts +2 -0
  273. package/es/table/utils/isGroupColumn.js +7 -0
  274. package/es/table/utils/isLeafNode.d.ts +2 -0
  275. package/es/table/utils/isLeafNode.js +4 -0
  276. package/es/table/utils/layeredFilter.d.ts +2 -0
  277. package/es/table/utils/layeredFilter.js +25 -0
  278. package/es/table/utils/layeredSort.d.ts +5 -0
  279. package/es/table/utils/layeredSort.js +26 -0
  280. package/es/table/utils/makeRecursiveMapper.d.ts +9 -0
  281. package/es/table/utils/makeRecursiveMapper.js +76 -0
  282. package/es/table/utils/mergeCellProps.d.ts +8 -0
  283. package/es/table/utils/mergeCellProps.js +67 -0
  284. package/es/table/utils/others.d.ts +16 -0
  285. package/es/table/utils/others.js +80 -0
  286. package/es/table/utils/proto.d.ts +21 -0
  287. package/es/table/utils/proto.js +106 -0
  288. package/es/table/utils/smartCompare.d.ts +9 -0
  289. package/es/table/utils/smartCompare.js +51 -0
  290. package/es/table/utils/traverseColumn.d.ts +11 -0
  291. package/es/table/utils/traverseColumn.js +88 -0
  292. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.d.ts +22 -0
  293. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +138 -0
  294. package/es/table/utils/tree-data-helpers/TreeDataHelper.d.ts +26 -0
  295. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +337 -0
  296. package/lib/_utils/arrayUtil.d.ts +5 -0
  297. package/lib/_utils/arrayUtil.js +26 -0
  298. package/lib/_utils/devwarning.d.ts +1 -0
  299. package/lib/_utils/devwarning.js +21 -0
  300. package/lib/_utils/formatUtil.d.ts +46 -0
  301. package/lib/_utils/formatUtil.js +358 -0
  302. package/lib/_utils/hooks.d.ts +51 -0
  303. package/lib/_utils/hooks.js +187 -0
  304. package/lib/_utils/index.d.ts +8 -0
  305. package/lib/_utils/index.js +28 -0
  306. package/lib/_utils/numberUtil.d.ts +34 -0
  307. package/lib/_utils/numberUtil.js +202 -0
  308. package/lib/_utils/omit.d.ts +1 -0
  309. package/lib/_utils/omit.js +21 -0
  310. package/lib/_utils/react-children.d.ts +2 -0
  311. package/lib/_utils/react-children.js +20 -0
  312. package/lib/_utils/type.d.ts +12 -0
  313. package/lib/_utils/type.js +27 -0
  314. package/lib/_utils/usePopper.d.ts +29 -0
  315. package/lib/_utils/usePopper.js +574 -0
  316. package/lib/config-provider/ConfigContext.d.ts +22 -0
  317. package/lib/config-provider/ConfigContext.js +19 -0
  318. package/lib/config-provider/compDefaultProps.d.ts +8 -0
  319. package/lib/config-provider/compDefaultProps.js +17 -0
  320. package/lib/config-provider/configProvider.d.ts +11 -0
  321. package/lib/config-provider/configProvider.js +56 -0
  322. package/lib/config-provider/defaultConfig.d.ts +10 -0
  323. package/lib/config-provider/defaultConfig.js +30 -0
  324. package/lib/config-provider/index.d.ts +6 -0
  325. package/lib/config-provider/index.js +37 -0
  326. package/lib/index.d.ts +2 -0
  327. package/lib/index.js +45 -0
  328. package/lib/locale/index.d.ts +3 -0
  329. package/lib/locale/index.js +25 -0
  330. package/lib/locale/locale.d.ts +50 -0
  331. package/lib/locale/locale.js +277 -0
  332. package/lib/locale/zh-CN.d.ts +8 -0
  333. package/lib/locale/zh-CN.js +15 -0
  334. package/lib/style/color/colors.less +2 -0
  335. package/lib/style/components.less +1 -0
  336. package/lib/style/core/index.less +2 -0
  337. package/lib/style/core/motion/other.less +28 -0
  338. package/lib/style/core/motion/slide.less +53 -0
  339. package/lib/style/core/motion.less +2 -0
  340. package/lib/style/core/reset.less +186 -0
  341. package/lib/style/css.js +3 -0
  342. package/lib/style/index.css +410 -0
  343. package/lib/style/index.d.ts +1 -0
  344. package/lib/style/index.js +3 -0
  345. package/lib/style/index.less +2 -0
  346. package/lib/style/mixins/index.less +19 -0
  347. package/lib/style/mixins/overlay.less +22 -0
  348. package/lib/style/mixins/reset.less +13 -0
  349. package/lib/style/themes/default.less +445 -0
  350. package/lib/style/themes/index.less +1 -0
  351. package/lib/table/base/calculations.d.ts +5 -0
  352. package/lib/table/base/calculations.js +385 -0
  353. package/lib/table/base/colgroup.d.ts +5 -0
  354. package/lib/table/base/colgroup.js +33 -0
  355. package/lib/table/base/empty.d.ts +9 -0
  356. package/lib/table/base/empty.js +54 -0
  357. package/lib/table/base/header.d.ts +5 -0
  358. package/lib/table/base/header.js +340 -0
  359. package/lib/table/base/helpers/SpanManager.d.ts +9 -0
  360. package/lib/table/base/helpers/SpanManager.js +59 -0
  361. package/lib/table/base/helpers/TableDOMUtils.d.ts +18 -0
  362. package/lib/table/base/helpers/TableDOMUtils.js +113 -0
  363. package/lib/table/base/helpers/__test__/SpanManager.test.d.ts +1 -0
  364. package/lib/table/base/helpers/__test__/SpanManager.test.js +23 -0
  365. package/lib/table/base/helpers/__test__/TableDOMUtils.test.d.ts +1 -0
  366. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +41 -0
  367. package/lib/table/base/helpers/__test__/rowHeightManager.test.d.ts +1 -0
  368. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +33 -0
  369. package/lib/table/base/helpers/__test__/visible-part.test.d.ts +1 -0
  370. package/lib/table/base/helpers/__test__/visible-part.test.js +31 -0
  371. package/lib/table/base/helpers/rowHeightManager.d.ts +7 -0
  372. package/lib/table/base/helpers/rowHeightManager.js +170 -0
  373. package/lib/table/base/helpers/visible-part.d.ts +23 -0
  374. package/lib/table/base/helpers/visible-part.js +72 -0
  375. package/lib/table/base/html-table.d.ts +15 -0
  376. package/lib/table/base/html-table.js +149 -0
  377. package/lib/table/base/index.d.ts +3 -0
  378. package/lib/table/base/index.js +21 -0
  379. package/lib/table/base/interfaces.d.ts +54 -0
  380. package/lib/table/base/interfaces.js +0 -0
  381. package/lib/table/base/loading.d.ts +13 -0
  382. package/lib/table/base/loading.js +71 -0
  383. package/lib/table/base/styles.d.ts +132 -0
  384. package/lib/table/base/styles.js +136 -0
  385. package/lib/table/base/table.d.ts +150 -0
  386. package/lib/table/base/table.js +773 -0
  387. package/lib/table/base/utils.d.ts +36 -0
  388. package/lib/table/base/utils.js +234 -0
  389. package/lib/table/common-views.d.ts +24 -0
  390. package/lib/table/common-views.js +90 -0
  391. package/lib/table/index.d.ts +6 -0
  392. package/lib/table/index.js +85 -0
  393. package/lib/table/interfaces.d.ts +98 -0
  394. package/lib/table/interfaces.js +0 -0
  395. package/lib/table/internals.d.ts +14 -0
  396. package/lib/table/internals.js +64 -0
  397. package/lib/table/pipeline/features/__test__/multiSelect.test.d.ts +1 -0
  398. package/lib/table/pipeline/features/__test__/multiSelect.test.js +163 -0
  399. package/lib/table/pipeline/features/__test__/rowDetail.test.d.ts +1 -0
  400. package/lib/table/pipeline/features/__test__/rowDetail.test.js +230 -0
  401. package/lib/table/pipeline/features/__test__/rowGrouping.test.d.ts +1 -0
  402. package/lib/table/pipeline/features/__test__/rowGrouping.test.js +129 -0
  403. package/lib/table/pipeline/features/__test__/singleSelect.test.d.ts +1 -0
  404. package/lib/table/pipeline/features/__test__/singleSelect.test.js +201 -0
  405. package/lib/table/pipeline/features/__test__/sort.test.d.ts +1 -0
  406. package/lib/table/pipeline/features/__test__/sort.test.js +218 -0
  407. package/lib/table/pipeline/features/__test__/tips.test.d.ts +1 -0
  408. package/lib/table/pipeline/features/__test__/tips.test.js +133 -0
  409. package/lib/table/pipeline/features/__test__/treeMode.test.d.ts +1 -0
  410. package/lib/table/pipeline/features/__test__/treeMode.test.js +206 -0
  411. package/lib/table/pipeline/features/autoFill.d.ts +4 -0
  412. package/lib/table/pipeline/features/autoFill.js +80 -0
  413. package/lib/table/pipeline/features/autoRowSpan.d.ts +2 -0
  414. package/lib/table/pipeline/features/autoRowSpan.js +84 -0
  415. package/lib/table/pipeline/features/buildTree.d.ts +2 -0
  416. package/lib/table/pipeline/features/buildTree.js +16 -0
  417. package/lib/table/pipeline/features/columnDrag.d.ts +6 -0
  418. package/lib/table/pipeline/features/columnDrag.js +278 -0
  419. package/lib/table/pipeline/features/columnFilter.d.ts +20 -0
  420. package/lib/table/pipeline/features/columnFilter.js +197 -0
  421. package/lib/table/pipeline/features/columnHover.d.ts +12 -0
  422. package/lib/table/pipeline/features/columnHover.js +62 -0
  423. package/lib/table/pipeline/features/columnRangeHover.d.ts +15 -0
  424. package/lib/table/pipeline/features/columnRangeHover.js +95 -0
  425. package/lib/table/pipeline/features/columnResizeWidth.d.ts +21 -0
  426. package/lib/table/pipeline/features/columnResizeWidth.js +192 -0
  427. package/lib/table/pipeline/features/contextMenu.d.ts +14 -0
  428. package/lib/table/pipeline/features/contextMenu.js +397 -0
  429. package/lib/table/pipeline/features/filter/DefaultFilterContent.d.ts +4 -0
  430. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +112 -0
  431. package/lib/table/pipeline/features/filter/Filter.d.ts +17 -0
  432. package/lib/table/pipeline/features/filter/Filter.js +129 -0
  433. package/lib/table/pipeline/features/filter/FilterPanel.d.ts +20 -0
  434. package/lib/table/pipeline/features/filter/FilterPanel.js +98 -0
  435. package/lib/table/pipeline/features/filter/__test__/Filter.test.d.ts +1 -0
  436. package/lib/table/pipeline/features/filter/__test__/Filter.test.js +36 -0
  437. package/lib/table/pipeline/features/filter/index.d.ts +4 -0
  438. package/lib/table/pipeline/features/filter/index.js +39 -0
  439. package/lib/table/pipeline/features/filter/util.d.ts +10 -0
  440. package/lib/table/pipeline/features/filter/util.js +77 -0
  441. package/lib/table/pipeline/features/index.d.ts +16 -0
  442. package/lib/table/pipeline/features/index.js +141 -0
  443. package/lib/table/pipeline/features/multiSelect.d.ts +27 -0
  444. package/lib/table/pipeline/features/multiSelect.js +227 -0
  445. package/lib/table/pipeline/features/rowDetail.d.ts +35 -0
  446. package/lib/table/pipeline/features/rowDetail.js +283 -0
  447. package/lib/table/pipeline/features/rowGrouping.d.ts +14 -0
  448. package/lib/table/pipeline/features/rowGrouping.js +227 -0
  449. package/lib/table/pipeline/features/singleSelect.d.ts +23 -0
  450. package/lib/table/pipeline/features/singleSelect.js +138 -0
  451. package/lib/table/pipeline/features/sort.d.ts +40 -0
  452. package/lib/table/pipeline/features/sort.js +361 -0
  453. package/lib/table/pipeline/features/tips.d.ts +2 -0
  454. package/lib/table/pipeline/features/tips.js +73 -0
  455. package/lib/table/pipeline/features/treeMode.d.ts +37 -0
  456. package/lib/table/pipeline/features/treeMode.js +266 -0
  457. package/lib/table/pipeline/features/treeSelect.d.ts +38 -0
  458. package/lib/table/pipeline/features/treeSelect.js +169 -0
  459. package/lib/table/pipeline/index.d.ts +3 -0
  460. package/lib/table/pipeline/index.js +26 -0
  461. package/lib/table/pipeline/pipeline.d.ts +85 -0
  462. package/lib/table/pipeline/pipeline.js +291 -0
  463. package/lib/table/pivot/cross-table/buildCrossTable.d.ts +14 -0
  464. package/lib/table/pivot/cross-table/buildCrossTable.js +313 -0
  465. package/lib/table/pivot/cross-table/constants.d.ts +1 -0
  466. package/lib/table/pivot/cross-table/constants.js +8 -0
  467. package/lib/table/pivot/cross-table/cross-table.d.ts +18 -0
  468. package/lib/table/pivot/cross-table/cross-table.js +71 -0
  469. package/lib/table/pivot/cross-table/index.d.ts +4 -0
  470. package/lib/table/pivot/cross-table/index.js +31 -0
  471. package/lib/table/pivot/cross-table/interfaces.d.ts +29 -0
  472. package/lib/table/pivot/cross-table/interfaces.js +0 -0
  473. package/lib/table/pivot/cross-table/internals.d.ts +13 -0
  474. package/lib/table/pivot/cross-table/internals.js +0 -0
  475. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.d.ts +14 -0
  476. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +240 -0
  477. package/lib/table/pivot/cross-tree-table/cross-tree-table.d.ts +38 -0
  478. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +144 -0
  479. package/lib/table/pivot/cross-tree-table/index.d.ts +2 -0
  480. package/lib/table/pivot/cross-tree-table/index.js +23 -0
  481. package/lib/table/pivot/pivot-utils/buildDrillTree.d.ts +16 -0
  482. package/lib/table/pivot/pivot-utils/buildDrillTree.js +106 -0
  483. package/lib/table/pivot/pivot-utils/builders.d.ts +26 -0
  484. package/lib/table/pivot/pivot-utils/builders.js +272 -0
  485. package/lib/table/pivot/pivot-utils/convert-utils.d.ts +31 -0
  486. package/lib/table/pivot/pivot-utils/convert-utils.js +204 -0
  487. package/lib/table/pivot/pivot-utils/index.d.ts +5 -0
  488. package/lib/table/pivot/pivot-utils/index.js +59 -0
  489. package/lib/table/pivot/pivot-utils/interfaces.d.ts +12 -0
  490. package/lib/table/pivot/pivot-utils/interfaces.js +0 -0
  491. package/lib/table/pivot/pivot-utils/simpleEncode.d.ts +1 -0
  492. package/lib/table/pivot/pivot-utils/simpleEncode.js +14 -0
  493. package/lib/table/style/css.js +5 -0
  494. package/lib/table/style/index.css +0 -0
  495. package/lib/table/style/index.d.ts +2 -0
  496. package/lib/table/style/index.js +5 -0
  497. package/lib/table/style/index.less +1 -0
  498. package/lib/table/transforms/autoRowSpan.d.ts +3 -0
  499. package/lib/table/transforms/autoRowSpan.js +86 -0
  500. package/lib/table/transforms/autoWidth.d.ts +25 -0
  501. package/lib/table/transforms/autoWidth.js +187 -0
  502. package/lib/table/transforms/buildTree.d.ts +3 -0
  503. package/lib/table/transforms/buildTree.js +23 -0
  504. package/lib/table/transforms/columnHover.d.ts +17 -0
  505. package/lib/table/transforms/columnHover.js +74 -0
  506. package/lib/table/transforms/columnRangeHover.d.ts +17 -0
  507. package/lib/table/transforms/columnRangeHover.js +110 -0
  508. package/lib/table/transforms/columnResize.d.ts +27 -0
  509. package/lib/table/transforms/columnResize.js +176 -0
  510. package/lib/table/transforms/flatten.d.ts +3 -0
  511. package/lib/table/transforms/flatten.js +24 -0
  512. package/lib/table/transforms/index.d.ts +12 -0
  513. package/lib/table/transforms/index.js +131 -0
  514. package/lib/table/transforms/orderField.d.ts +3 -0
  515. package/lib/table/transforms/orderField.js +33 -0
  516. package/lib/table/transforms/sort.d.ts +43 -0
  517. package/lib/table/transforms/sort.js +369 -0
  518. package/lib/table/transforms/tips.d.ts +8 -0
  519. package/lib/table/transforms/tips.js +71 -0
  520. package/lib/table/transforms/treeMode.d.ts +30 -0
  521. package/lib/table/transforms/treeMode.js +286 -0
  522. package/lib/table/transforms/visible.d.ts +5 -0
  523. package/lib/table/transforms/visible.js +31 -0
  524. package/lib/table/transforms/warnTransformsDeprecated.d.ts +1 -0
  525. package/lib/table/transforms/warnTransformsDeprecated.js +19 -0
  526. package/lib/table/use/useResizeObserver.d.ts +2 -0
  527. package/lib/table/use/useResizeObserver.js +32 -0
  528. package/lib/table/utils/applyTransforms.d.ts +6 -0
  529. package/lib/table/utils/applyTransforms.js +24 -0
  530. package/lib/table/utils/buildTree.d.ts +36 -0
  531. package/lib/table/utils/buildTree.js +140 -0
  532. package/lib/table/utils/collectNodes.d.ts +8 -0
  533. package/lib/table/utils/collectNodes.js +72 -0
  534. package/lib/table/utils/console.d.ts +11 -0
  535. package/lib/table/utils/console.js +68 -0
  536. package/lib/table/utils/copyToClipboard.d.ts +3 -0
  537. package/lib/table/utils/copyToClipboard.js +40 -0
  538. package/lib/table/utils/element.d.ts +42 -0
  539. package/lib/table/utils/element.js +243 -0
  540. package/lib/table/utils/exportTableAsExcel.d.ts +4 -0
  541. package/lib/table/utils/exportTableAsExcel.js +205 -0
  542. package/lib/table/utils/getTreeDepth.d.ts +3 -0
  543. package/lib/table/utils/getTreeDepth.js +54 -0
  544. package/lib/table/utils/groupBy.d.ts +1 -0
  545. package/lib/table/utils/groupBy.js +48 -0
  546. package/lib/table/utils/index.d.ts +18 -0
  547. package/lib/table/utils/index.js +187 -0
  548. package/lib/table/utils/isGroupColumn.d.ts +2 -0
  549. package/lib/table/utils/isGroupColumn.js +17 -0
  550. package/lib/table/utils/isLeafNode.d.ts +2 -0
  551. package/lib/table/utils/isLeafNode.js +11 -0
  552. package/lib/table/utils/layeredFilter.d.ts +2 -0
  553. package/lib/table/utils/layeredFilter.js +38 -0
  554. package/lib/table/utils/layeredSort.d.ts +5 -0
  555. package/lib/table/utils/layeredSort.js +37 -0
  556. package/lib/table/utils/makeRecursiveMapper.d.ts +9 -0
  557. package/lib/table/utils/makeRecursiveMapper.js +94 -0
  558. package/lib/table/utils/mergeCellProps.d.ts +8 -0
  559. package/lib/table/utils/mergeCellProps.js +78 -0
  560. package/lib/table/utils/others.d.ts +16 -0
  561. package/lib/table/utils/others.js +108 -0
  562. package/lib/table/utils/proto.d.ts +21 -0
  563. package/lib/table/utils/proto.js +117 -0
  564. package/lib/table/utils/smartCompare.d.ts +9 -0
  565. package/lib/table/utils/smartCompare.js +58 -0
  566. package/lib/table/utils/traverseColumn.d.ts +11 -0
  567. package/lib/table/utils/traverseColumn.js +103 -0
  568. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.d.ts +22 -0
  569. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +154 -0
  570. package/lib/table/utils/tree-data-helpers/TreeDataHelper.d.ts +26 -0
  571. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +358 -0
  572. package/package.json +213 -0
@@ -0,0 +1,733 @@
1
+ import _Reflect$construct from "@babel/runtime-corejs3/core-js-stable/reflect/construct";
2
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
3
+ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
4
+ import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
5
+ import _getIterator from "@babel/runtime-corejs3/core-js/get-iterator";
6
+ import _slicedToArray from "@babel/runtime-corejs3/helpers/slicedToArray";
7
+ import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
8
+ import _classCallCheck from "@babel/runtime-corejs3/helpers/classCallCheck";
9
+ import _createClass from "@babel/runtime-corejs3/helpers/createClass";
10
+ import _inherits from "@babel/runtime-corejs3/helpers/inherits";
11
+ import _possibleConstructorReturn from "@babel/runtime-corejs3/helpers/possibleConstructorReturn";
12
+ import _getPrototypeOf from "@babel/runtime-corejs3/helpers/getPrototypeOf";
13
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
14
+
15
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof _Symbol === "undefined" || _getIteratorMethod(o) == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = _getIterator(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
16
+
17
+ function _unsupportedIterableToArray(o, minLen) { var _context2; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context2 = Object.prototype.toString.call(o)).call(_context2, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
+
19
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
20
+
21
+ import _flatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/flat";
22
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
23
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
24
+
25
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
26
+
27
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
28
+
29
+ import cx from 'classnames';
30
+ import React from 'react';
31
+ import { animationFrameScheduler, BehaviorSubject, combineLatest, noop, of, Subscription, timer, Subject } from 'rxjs';
32
+ import * as op from 'rxjs/operators';
33
+ import { calculateRenderInfo } from './calculations';
34
+ import { EmptyHtmlTable } from './empty';
35
+ import TableHeader from './header';
36
+ import { getFullRenderRange, makeRowHeightManager } from './helpers/rowHeightManager';
37
+ import { TableDOMHelper } from './helpers/TableDOMUtils';
38
+ import { getVisiblePartObservable } from './helpers/visible-part';
39
+ import { HtmlTable } from './html-table';
40
+ import Loading from './loading';
41
+ import { Classes, LOCK_SHADOW_PADDING, StyledArtTableWrapper, defaultCSSVariables } from './styles';
42
+ import { addResizeObserver, getScrollbarSize, OVERSCAN_SIZE, shallowEqual, STYLED_REF_PROP, sum, syncScrollLeft, throttledWindowResize$ } from './utils';
43
+ import cssVars from 'css-vars-ponyfill';
44
+ import { console } from '../utils';
45
+
46
+ var cssPolifill = function cssPolifill(_ref) {
47
+ var variables = _ref.variables,
48
+ enableCSSVariables = _ref.enableCSSVariables;
49
+
50
+ // const style = document.createElement('style')
51
+ // style.type = 'text/css'
52
+ // style.innerHTML = '.aaa{ --color: red; }'
53
+ // document.getElementsByTagName('head').item(0).appendChild(style)
54
+ // const variableNames = variableConst.match(/--.*?(?=:)/g)
55
+ // variables = variableNames.map((name) => rootElement.style[name])
56
+ if (enableCSSVariables === false) {
57
+ return;
58
+ }
59
+
60
+ var t0 = performance.now();
61
+ cssVars({
62
+ // exclude: 'link[href*="semantic-ui"]',
63
+ // onlyLegacy: false,
64
+ // rootElement: rootElement,
65
+ include: 'style[data-styled]',
66
+ variables: _extends({}, defaultCSSVariables, variables),
67
+ watch: true,
68
+ silent: true,
69
+ onComplete: function onComplete() {
70
+ var t1 = performance.now();
71
+ var time = ((t1 - t0) / 1000).toFixed(2);
72
+ console.log("css-vars-ponyfill completed in ".concat(time, " seconds"));
73
+ }
74
+ });
75
+ };
76
+
77
+ var propsDotEmptyContentDeprecatedWarned = false;
78
+
79
+ function warnPropsDotEmptyContentIsDeprecated() {
80
+ if (!propsDotEmptyContentDeprecatedWarned) {
81
+ propsDotEmptyContentDeprecatedWarned = true;
82
+ console.warn('BaseTable props.emptyContent 已经过时,请使用 props.components.EmptyContent 来自定义数据为空时的表格表现');
83
+ }
84
+ }
85
+
86
+ export var BaseTable = /*#__PURE__*/function (_React$Component) {
87
+ _inherits(BaseTable, _React$Component);
88
+
89
+ var _super = _createSuper(BaseTable);
90
+
91
+ function BaseTable(props) {
92
+ var _this;
93
+
94
+ _classCallCheck(this, BaseTable);
95
+
96
+ _this = _super.call(this, props);
97
+ _this.rowHeightManager = makeRowHeightManager(_this.props.dataSource.length, _this.props.estimatedRowHeight);
98
+ _this.artTableWrapperRef = /*#__PURE__*/React.createRef();
99
+ _this.rootSubscription = new Subscription();
100
+ _this.hasScrollY = false;
101
+ _this.resizeSubject = new Subject();
102
+ _this.state = {
103
+ hasScroll: true,
104
+ hasScrollY: true,
105
+ needRenderLock: true,
106
+ offsetY: 0,
107
+ offsetX: 0,
108
+ // 因为 ResizeObserver 在一开始总是会调用一次所提供的回调函数
109
+ // 故这里为 maxRenderHeight/maxRenderWidth 设置一个默认值即可(因为这两个默认值很快就会被覆盖)
110
+ // https://stackoverflow.com/questions/60026223/does-resizeobserver-invokes-initially-on-page-load
111
+ maxRenderHeight: 600,
112
+ maxRenderWidth: 800
113
+ };
114
+ return _this;
115
+ }
116
+ /** @deprecated BaseTable.getDoms() 已经过时,请勿调用 */
117
+
118
+
119
+ _createClass(BaseTable, [{
120
+ key: "getDoms",
121
+ value: function getDoms() {
122
+ console.warn('[kd-table] BaseTable.getDoms() 已经过时');
123
+ return this.domHelper;
124
+ }
125
+ /** 自定义滚动条宽度为table宽度,使滚动条滑块宽度相同 */
126
+
127
+ }, {
128
+ key: "updateStickyScroll",
129
+ value: function updateStickyScroll() {
130
+ var _a, _b;
131
+
132
+ var _this$domHelper = this.domHelper,
133
+ stickyScroll = _this$domHelper.stickyScroll,
134
+ artTable = _this$domHelper.artTable,
135
+ stickyScrollItem = _this$domHelper.stickyScrollItem;
136
+ var _lastHasScrollY = this.hasScrollY;
137
+
138
+ if (!artTable) {
139
+ return;
140
+ }
141
+
142
+ var tableBodyHtmlTable = this.domHelper.getTableBodyHtmlTable();
143
+ var innerTableWidth = tableBodyHtmlTable.offsetWidth;
144
+ var artTableWidth = artTable.offsetWidth;
145
+ var stickyScrollHeightProp = this.props.stickyScrollHeight;
146
+ var stickyScrollHeight = stickyScrollHeightProp === 'auto' ? getScrollbarSize().height : stickyScrollHeightProp; // stickyScroll.style.marginTop = `-${stickyScrollHeight + 1}px`
147
+ // 设置滚动条高度
148
+
149
+ stickyScroll.style.height = "".concat(stickyScrollHeight, "px");
150
+
151
+ if (artTableWidth >= innerTableWidth) {
152
+ if (this.state.hasScroll) {
153
+ this.setState({
154
+ hasScroll: false
155
+ });
156
+ }
157
+ } else {
158
+ if (!this.state.hasScroll && stickyScrollHeight > 5) {
159
+ // 考虑下mac下面隐藏滚动条的情况
160
+ this.setState({
161
+ hasScroll: true
162
+ });
163
+ }
164
+ }
165
+
166
+ if (this.domHelper.tableElement.offsetHeight > this.domHelper.tableBody.offsetHeight) {
167
+ // if (!this.state.hasScroll) {
168
+ // this.setState({
169
+ // hasScrollY: true
170
+ // })
171
+ // }
172
+ this.hasScrollY = true;
173
+ } else {
174
+ stickyScroll.style.marginRight = "".concat(stickyScrollHeight, "px"); // this.setState({
175
+ // hasScrollY: false
176
+ // })
177
+
178
+ this.hasScrollY = false;
179
+ }
180
+
181
+ if (_lastHasScrollY !== this.hasScrollY) {
182
+ (_b = (_a = this.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, this.domHelper.tableBody.clientWidth);
183
+ } // 设置子节点宽度
184
+
185
+
186
+ stickyScrollItem.style.width = "".concat(innerTableWidth, "px");
187
+ }
188
+ }, {
189
+ key: "renderTableHeader",
190
+ value: function renderTableHeader(info) {
191
+ var _this$props = this.props,
192
+ stickyTop = _this$props.stickyTop,
193
+ hasHeader = _this$props.hasHeader; // console.log('render header')
194
+
195
+ return /*#__PURE__*/React.createElement("div", {
196
+ className: cx(Classes.tableHeader, 'no-scrollbar'),
197
+ style: {
198
+ top: stickyTop === 0 ? undefined : stickyTop,
199
+ display: hasHeader ? undefined : 'none'
200
+ }
201
+ }, /*#__PURE__*/React.createElement(TableHeader, {
202
+ info: info
203
+ }));
204
+ }
205
+ }, {
206
+ key: "updateOffsetX",
207
+ value: function updateOffsetX(nextOffsetX) {
208
+ if (this.lastInfo.useVirtual.horizontal) {
209
+ if (Math.abs(nextOffsetX - this.state.offsetX) >= OVERSCAN_SIZE / 2) {
210
+ this.setState({
211
+ offsetX: nextOffsetX
212
+ });
213
+ }
214
+ }
215
+ }
216
+ }, {
217
+ key: "syncHorizontalScrollFromTableBody",
218
+ value: function syncHorizontalScrollFromTableBody() {
219
+ this.syncHorizontalScroll(this.domHelper.virtual.scrollLeft);
220
+ }
221
+ /** 同步横向滚动偏移量 */
222
+
223
+ }, {
224
+ key: "syncHorizontalScroll",
225
+ value: function syncHorizontalScroll(x) {
226
+ this.updateOffsetX(x);
227
+
228
+ var flat = _flatInstanceProperty(this.lastInfo);
229
+
230
+ var leftLockShadow = this.domHelper.getLeftLockShadow();
231
+
232
+ if (leftLockShadow) {
233
+ var shouldShowLeftLockShadow = flat.left.length > 0 && this.state.needRenderLock && x > 0;
234
+
235
+ if (shouldShowLeftLockShadow) {
236
+ leftLockShadow.classList.add('show-shadow');
237
+ } else {
238
+ leftLockShadow.classList.remove('show-shadow');
239
+ }
240
+ }
241
+
242
+ var rightLockShadow = this.domHelper.getRightLockShadow();
243
+
244
+ if (rightLockShadow) {
245
+ var shouldShowRightLockShadow = flat.right.length > 0 && this.state.needRenderLock && x < this.domHelper.virtual.scrollWidth - this.domHelper.virtual.clientWidth;
246
+
247
+ if (shouldShowRightLockShadow) {
248
+ rightLockShadow.classList.add('show-shadow');
249
+ } else {
250
+ rightLockShadow.classList.remove('show-shadow');
251
+ }
252
+ }
253
+ }
254
+ }, {
255
+ key: "getVerticalRenderRange",
256
+ value: function getVerticalRenderRange(useVirtual) {
257
+ var dataSource = this.props.dataSource;
258
+ var _this$state = this.state,
259
+ offsetY = _this$state.offsetY,
260
+ maxRenderHeight = _this$state.maxRenderHeight;
261
+ var rowCount = dataSource.length;
262
+
263
+ if (useVirtual.vertical) {
264
+ return this.rowHeightManager.getRenderRange(offsetY, maxRenderHeight, rowCount);
265
+ } else {
266
+ return getFullRenderRange(rowCount);
267
+ }
268
+ }
269
+ }, {
270
+ key: "renderTableBody",
271
+ value: function renderTableBody(info) {
272
+ // console.log('render body')
273
+ var _this$props2 = this.props,
274
+ dataSource = _this$props2.dataSource,
275
+ getRowProps = _this$props2.getRowProps,
276
+ primaryKey = _this$props2.primaryKey,
277
+ isLoading = _this$props2.isLoading,
278
+ emptyCellHeight = _this$props2.emptyCellHeight,
279
+ footerDataSource = _this$props2.footerDataSource;
280
+ var tableBodyClassName = cx(Classes.tableBody, Classes.horizontalScrollContainer);
281
+
282
+ if (dataSource.length === 0) {
283
+ var _this$props3 = this.props,
284
+ components = _this$props3.components,
285
+ emptyContent = _this$props3.emptyContent;
286
+ var EmptyContent = components.EmptyContent;
287
+
288
+ if (EmptyContent == null && emptyContent != null) {
289
+ warnPropsDotEmptyContentIsDeprecated();
290
+
291
+ EmptyContent = function EmptyContent() {
292
+ return emptyContent;
293
+ };
294
+ }
295
+
296
+ return /*#__PURE__*/React.createElement("div", {
297
+ className: cx(tableBodyClassName, 'empty')
298
+ }, /*#__PURE__*/React.createElement("div", {
299
+ className: Classes.virtual
300
+ }, /*#__PURE__*/React.createElement(EmptyHtmlTable, {
301
+ descriptors: info.visible,
302
+ isLoading: isLoading,
303
+ EmptyContent: EmptyContent,
304
+ emptyCellHeight: emptyCellHeight
305
+ })));
306
+ }
307
+
308
+ var _info$verticalRenderR = info.verticalRenderRange,
309
+ topIndex = _info$verticalRenderR.topIndex,
310
+ bottomBlank = _info$verticalRenderR.bottomBlank,
311
+ topBlank = _info$verticalRenderR.topBlank,
312
+ bottomIndex = _info$verticalRenderR.bottomIndex;
313
+ return /*#__PURE__*/React.createElement("div", {
314
+ className: tableBodyClassName
315
+ }, /*#__PURE__*/React.createElement("div", {
316
+ className: Classes.virtual
317
+ }, topBlank > 0 && /*#__PURE__*/React.createElement("div", {
318
+ key: "top-blank",
319
+ className: cx(Classes.virtualBlank, 'top'),
320
+ style: {
321
+ height: topBlank
322
+ }
323
+ }), /*#__PURE__*/React.createElement(HtmlTable, {
324
+ tbodyHtmlTag: "tbody",
325
+ getRowProps: getRowProps,
326
+ primaryKey: primaryKey,
327
+ data: _sliceInstanceProperty(dataSource).call(dataSource, topIndex, bottomIndex),
328
+ horizontalRenderInfo: info,
329
+ verticalRenderInfo: {
330
+ first: 0,
331
+ offset: topIndex,
332
+ limit: bottomIndex,
333
+ last: dataSource.length - 1
334
+ }
335
+ }), bottomBlank > 0 && /*#__PURE__*/React.createElement("div", {
336
+ key: "bottom-blank",
337
+ className: cx(Classes.virtualBlank, 'bottom'),
338
+ style: {
339
+ height: bottomBlank
340
+ }
341
+ })));
342
+ }
343
+ }, {
344
+ key: "renderTableFooter",
345
+ value: function renderTableFooter(info) {
346
+ // console.log('render footer')
347
+ var _this$props4 = this.props,
348
+ _this$props4$footerDa = _this$props4.footerDataSource,
349
+ footerDataSource = _this$props4$footerDa === void 0 ? [] : _this$props4$footerDa,
350
+ getRowProps = _this$props4.getRowProps,
351
+ primaryKey = _this$props4.primaryKey,
352
+ stickyBottom = _this$props4.stickyBottom;
353
+ return /*#__PURE__*/React.createElement("div", {
354
+ className: cx(Classes.tableFooter, Classes.horizontalScrollContainer),
355
+ style: {
356
+ bottom: stickyBottom === 0 ? undefined : stickyBottom
357
+ }
358
+ }, /*#__PURE__*/React.createElement(HtmlTable, {
359
+ tbodyHtmlTag: "tfoot",
360
+ data: footerDataSource,
361
+ horizontalRenderInfo: info,
362
+ getRowProps: getRowProps,
363
+ primaryKey: primaryKey,
364
+ verticalRenderInfo: {
365
+ offset: 0,
366
+ first: 0,
367
+ last: footerDataSource.length - 1,
368
+ limit: Infinity
369
+ }
370
+ }));
371
+ }
372
+ }, {
373
+ key: "renderLockShadows",
374
+ value: function renderLockShadows(info) {
375
+ // console.log('render LockShadows')
376
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
377
+ className: Classes.lockShadowMask,
378
+ style: {
379
+ left: 0,
380
+ width: info.leftLockTotalWidth + LOCK_SHADOW_PADDING
381
+ }
382
+ }, /*#__PURE__*/React.createElement("div", {
383
+ className: cx(Classes.lockShadow, Classes.leftLockShadow)
384
+ })), /*#__PURE__*/React.createElement("div", {
385
+ className: Classes.lockShadowMask,
386
+ style: {
387
+ right: 0,
388
+ width: info.rightLockTotalWidth + LOCK_SHADOW_PADDING
389
+ }
390
+ }, /*#__PURE__*/React.createElement("div", {
391
+ className: cx(Classes.lockShadow, Classes.rightLockShadow)
392
+ })));
393
+ }
394
+ }, {
395
+ key: "renderStickyScroll",
396
+ value: function renderStickyScroll(info) {
397
+ // console.log('render stickyscroll')
398
+ var _this$props5 = this.props,
399
+ hasStickyScroll = _this$props5.hasStickyScroll,
400
+ stickyBottom = _this$props5.stickyBottom;
401
+ var hasScroll = this.state.hasScroll;
402
+ return /*#__PURE__*/React.createElement("div", {
403
+ className: cx(Classes.stickyScroll, Classes.horizontalScrollContainer),
404
+ style: {
405
+ display: hasStickyScroll && hasScroll ? 'block' : 'none',
406
+ bottom: stickyBottom
407
+ }
408
+ }, /*#__PURE__*/React.createElement("div", {
409
+ className: Classes.stickyScrollItem
410
+ }));
411
+ }
412
+ }, {
413
+ key: "render",
414
+ value: function render() {
415
+ // console.log('render table')
416
+ var info = calculateRenderInfo(this);
417
+ this.lastInfo = info;
418
+ var _this$props6 = this.props,
419
+ dataSource = _this$props6.dataSource,
420
+ className = _this$props6.className,
421
+ style = _this$props6.style,
422
+ hasHeader = _this$props6.hasHeader,
423
+ useOuterBorder = _this$props6.useOuterBorder,
424
+ isStickyHead = _this$props6.isStickyHead,
425
+ isStickyHeader = _this$props6.isStickyHeader,
426
+ isStickyFooter = _this$props6.isStickyFooter,
427
+ isLoading = _this$props6.isLoading,
428
+ getTableProps = _this$props6.getTableProps,
429
+ footerDataSource = _this$props6.footerDataSource,
430
+ components = _this$props6.components;
431
+ var artTableWrapperClassName = cx(Classes.artTableWrapper, {
432
+ 'use-outer-border': useOuterBorder,
433
+ empty: dataSource.length === 0,
434
+ lock: info.hasLockColumn,
435
+ 'has-header': hasHeader,
436
+ 'sticky-header': isStickyHeader !== null && isStickyHeader !== void 0 ? isStickyHeader : isStickyHead,
437
+ 'has-footer': footerDataSource.length > 0,
438
+ 'sticky-footer': isStickyFooter
439
+ }, className);
440
+
441
+ var artTableWrapperProps = _defineProperty({
442
+ className: artTableWrapperClassName,
443
+ style: style
444
+ }, STYLED_REF_PROP, this.artTableWrapperRef);
445
+
446
+ return /*#__PURE__*/React.createElement(StyledArtTableWrapper, _extends({}, artTableWrapperProps), /*#__PURE__*/React.createElement(Loading, {
447
+ visible: isLoading,
448
+ LoadingIcon: components.LoadingIcon,
449
+ LoadingContentWrapper: components.LoadingContentWrapper
450
+ }, /*#__PURE__*/React.createElement("div", _extends({
451
+ className: Classes.artTable
452
+ }, getTableProps()), this.renderTableHeader(info), this.renderTableBody(info), this.renderTableFooter(info), this.renderLockShadows(info)), this.renderStickyScroll(info)));
453
+ }
454
+ }, {
455
+ key: "componentDidMount",
456
+ value: function componentDidMount() {
457
+ var _a, _b; // console.log('did mount start')
458
+ // console.log('update dom helper start')
459
+
460
+
461
+ this.updateDOMHelper(); // console.log('update dom helper end')
462
+
463
+ this.props$ = new BehaviorSubject(this.props);
464
+ this.initSubscriptions();
465
+ this.didMountOrUpdate(); // console.log('did mount end')
466
+
467
+ var _this$props7 = this.props,
468
+ cssVariables = _this$props7.cssVariables,
469
+ enableCSSVariables = _this$props7.enableCSSVariables;
470
+ cssPolifill({
471
+ variables: cssVariables || {},
472
+ enableCSSVariables: enableCSSVariables
473
+ });
474
+ (_b = (_a = this.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, this.domHelper.tableBody.clientWidth);
475
+ }
476
+ }, {
477
+ key: "componentDidUpdate",
478
+ value: function componentDidUpdate(prevProps, prevState) {
479
+ // console.log('did update start')
480
+ this.updateDOMHelper();
481
+ this.props$.next(this.props);
482
+ this.didMountOrUpdate(prevProps, prevState); // console.log('did update end')
483
+ }
484
+ }, {
485
+ key: "didMountOrUpdate",
486
+ value: function didMountOrUpdate(prevProps, prevState) {
487
+ this.syncHorizontalScrollFromTableBody();
488
+ this.updateStickyScroll();
489
+ this.adjustNeedRenderLock();
490
+ this.updateRowHeightManager();
491
+ this.updateScrollLeftWhenLayoutChanged(prevProps, prevState);
492
+ }
493
+ }, {
494
+ key: "updateScrollLeftWhenLayoutChanged",
495
+ value: function updateScrollLeftWhenLayoutChanged(prevProps, prevState) {
496
+ if (prevState != null) {
497
+ if (!prevState.hasScroll && this.state.hasScroll) {
498
+ this.domHelper.stickyScroll.scrollLeft = 0;
499
+ }
500
+ }
501
+
502
+ if (prevProps != null) {
503
+ var prevHasFooter = prevProps.footerDataSource.length > 0;
504
+ var currentHasFooter = this.props.footerDataSource.length > 0;
505
+
506
+ if (!prevHasFooter && currentHasFooter) {
507
+ this.domHelper.tableFooter.scrollLeft = this.domHelper.tableBody.scrollLeft;
508
+ }
509
+ }
510
+ }
511
+ }, {
512
+ key: "initSubscriptions",
513
+ value: function initSubscriptions() {
514
+ var _this2 = this;
515
+
516
+ var _this$domHelper2 = this.domHelper,
517
+ tableHeader = _this$domHelper2.tableHeader,
518
+ virtual = _this$domHelper2.virtual,
519
+ tableFooter = _this$domHelper2.tableFooter,
520
+ stickyScroll = _this$domHelper2.stickyScroll;
521
+ this.rootSubscription.add(throttledWindowResize$.subscribe(function () {
522
+ _this2.updateStickyScroll();
523
+
524
+ _this2.adjustNeedRenderLock();
525
+ }));
526
+ this.resizeSubject.pipe(op.debounceTime(100)).subscribe(function () {
527
+ var _a, _b;
528
+
529
+ (_b = (_a = _this2.props).setTableWidth) === null || _b === void 0 ? void 0 : _b.call(_a, _this2.domHelper.tableBody.clientWidth);
530
+ });
531
+
532
+ var handleTableWrapperResize = function handleTableWrapperResize() {
533
+ _this2.resizeSubject.next();
534
+ };
535
+
536
+ this.resizeObserver = addResizeObserver(this.domHelper.artTableWrapper, handleTableWrapperResize); // 滚动同步
537
+
538
+ this.rootSubscription.add(syncScrollLeft([tableHeader, virtual, tableFooter, stickyScroll], function (scrollLeft) {
539
+ _this2.syncHorizontalScroll(scrollLeft);
540
+ })); // 表格所处的 flowRoot / BFC
541
+
542
+ var resolvedFlowRoot$ = this.props$.pipe(op.map(function (props) {
543
+ return props.flowRoot;
544
+ }), op.switchMap(function (flowRoot) {
545
+ var wrapper = _this2.domHelper.tableBody;
546
+
547
+ if (flowRoot === 'auto') {
548
+ var computedStyle = getComputedStyle(wrapper);
549
+ return of(computedStyle.overflowY !== 'visible' ? wrapper : window);
550
+ } else if (flowRoot === 'self') {
551
+ return of(wrapper);
552
+ } else {
553
+ if (typeof flowRoot === 'function') {
554
+ // 在一些情况下 flowRoot 需要在父组件 didMount 时才会准备好
555
+ // 故这里使用 animationFrameScheduler 等下一个动画帧
556
+ return timer(0, animationFrameScheduler).pipe(op.map(flowRoot));
557
+ } else {
558
+ return of(flowRoot);
559
+ }
560
+ }
561
+ }), op.distinctUntilChanged()); // 表格在 flowRoot 中的可见部分
562
+
563
+ var visiblePart$ = resolvedFlowRoot$.pipe(op.switchMap(function (resolvedFlowRoot) {
564
+ return getVisiblePartObservable(_this2.domHelper.virtual, resolvedFlowRoot);
565
+ })); // 每当可见部分发生变化的时候,调整 loading icon 的未知(如果 loading icon 存在的话)
566
+
567
+ this.rootSubscription.add(combineLatest([visiblePart$.pipe(op.map(function (p) {
568
+ return p.clipRect;
569
+ }), op.distinctUntilChanged(shallowEqual)), this.props$.pipe(op.startWith(null), op.pairwise(), op.filter(function (_ref2) {
570
+ var _ref3 = _slicedToArray(_ref2, 2),
571
+ prevProps = _ref3[0],
572
+ props = _ref3[1];
573
+
574
+ return prevProps == null || !prevProps.isLoading && props.isLoading;
575
+ }))]).subscribe(function (_ref4) {
576
+ var _ref5 = _slicedToArray(_ref4, 1),
577
+ clipRect = _ref5[0];
578
+
579
+ var loadingIndicator = _this2.domHelper.getLoadingIndicator();
580
+
581
+ if (!loadingIndicator) {
582
+ return;
583
+ }
584
+
585
+ var height = clipRect.bottom - clipRect.top;
586
+ loadingIndicator.style.top = "".concat(height / 2, "px");
587
+ loadingIndicator.style.marginTop = "".concat(height / 2, "px");
588
+ })); // 每当可见部分发生变化的时候,如果开启了虚拟滚动,则重新触发 render
589
+
590
+ this.rootSubscription.add(visiblePart$.pipe(op.filter(function () {
591
+ var _this2$lastInfo$useVi = _this2.lastInfo.useVirtual,
592
+ horizontal = _this2$lastInfo$useVi.horizontal,
593
+ vertical = _this2$lastInfo$useVi.vertical;
594
+ return horizontal || vertical;
595
+ }), op.map(function (_ref6) {
596
+ var clipRect = _ref6.clipRect,
597
+ offsetY = _ref6.offsetY;
598
+ return {
599
+ maxRenderHeight: clipRect.bottom - clipRect.top,
600
+ maxRenderWidth: clipRect.right - clipRect.left,
601
+ offsetY: offsetY
602
+ };
603
+ }), op.distinctUntilChanged(function (x, y) {
604
+ // 因为 overscan 的存在,滚动较小的距离时不需要触发组件重渲染
605
+ return Math.abs(x.maxRenderWidth - y.maxRenderWidth) < OVERSCAN_SIZE / 2 && Math.abs(x.maxRenderHeight - y.maxRenderHeight) < OVERSCAN_SIZE / 2 && Math.abs(x.offsetY - y.offsetY) < OVERSCAN_SIZE / 2;
606
+ })).subscribe(function (sizeAndOffset) {
607
+ _this2.setState(sizeAndOffset);
608
+ }));
609
+ }
610
+ }, {
611
+ key: "componentWillUnmount",
612
+ value: function componentWillUnmount() {
613
+ var _a;
614
+
615
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
616
+ this.rootSubscription.unsubscribe();
617
+ this.resizeSubject.unsubscribe();
618
+ }
619
+ /** 更新 DOM 节点的引用,方便其他方法直接操作 DOM */
620
+
621
+ }, {
622
+ key: "updateDOMHelper",
623
+ value: function updateDOMHelper() {
624
+ this.domHelper = new TableDOMHelper(this.artTableWrapperRef.current);
625
+ }
626
+ }, {
627
+ key: "updateRowHeightManager",
628
+ value: function updateRowHeightManager() {
629
+ var _a;
630
+
631
+ var virtualTop = this.domHelper.getVirtualTop();
632
+ var virtualTopHeight = (_a = virtualTop === null || virtualTop === void 0 ? void 0 : virtualTop.clientHeight) !== null && _a !== void 0 ? _a : 0;
633
+ var maxTrRowIndex = -1;
634
+ var maxTrBottom = -1;
635
+ var zeroHeightRowCount = 0;
636
+
637
+ var _iterator = _createForOfIteratorHelper(this.domHelper.getTableRows()),
638
+ _step;
639
+
640
+ try {
641
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
642
+ var tr = _step.value;
643
+ var rowIndex = Number(tr.dataset.rowindex);
644
+
645
+ if (isNaN(rowIndex)) {
646
+ continue;
647
+ }
648
+
649
+ maxTrRowIndex = Math.max(maxTrRowIndex, rowIndex);
650
+ var offset = tr.offsetTop + virtualTopHeight;
651
+ var size = tr.offsetHeight;
652
+
653
+ if (size === 0) {
654
+ zeroHeightRowCount += 1;
655
+ }
656
+
657
+ maxTrBottom = Math.max(maxTrBottom, offset + size);
658
+ this.rowHeightManager.updateRow(rowIndex, offset, size);
659
+ } // 当 estimatedRowHeight 过大时,可能出现「渲染行数过少,无法覆盖可视范围」的情况
660
+ // 出现这种情况时,我们判断「下一次渲染能够渲染更多行」是否满足,满足的话就直接调用 forceUpdate
661
+ // zeroHeightRowCount === 0 用于确保当前没有 display=none 的情况
662
+
663
+ } catch (err) {
664
+ _iterator.e(err);
665
+ } finally {
666
+ _iterator.f();
667
+ }
668
+
669
+ if (maxTrRowIndex !== -1 && zeroHeightRowCount === 0) {
670
+ if (maxTrBottom < this.state.offsetY + this.state.maxRenderHeight) {
671
+ var vertical = this.getVerticalRenderRange(this.lastInfo.useVirtual);
672
+
673
+ if (vertical.bottomIndex - 1 > maxTrRowIndex) {
674
+ this.forceUpdate();
675
+ }
676
+ }
677
+ }
678
+ }
679
+ /** 计算表格所有列的渲染宽度之和,判断表格是否需要渲染锁列 */
680
+
681
+ }, {
682
+ key: "adjustNeedRenderLock",
683
+ value: function adjustNeedRenderLock() {
684
+ var needRenderLock = this.state.needRenderLock;
685
+
686
+ var _this$lastInfo = this.lastInfo,
687
+ flat = _flatInstanceProperty(_this$lastInfo),
688
+ hasLockColumn = _this$lastInfo.hasLockColumn;
689
+
690
+ if (hasLockColumn) {
691
+ var _context;
692
+
693
+ var sumOfColWidth = sum(_mapInstanceProperty(_context = flat.full).call(_context, function (col) {
694
+ return col.width;
695
+ }));
696
+ var nextNeedRenderLock = sumOfColWidth > this.domHelper.artTable.clientWidth;
697
+
698
+ if (needRenderLock !== nextNeedRenderLock) {
699
+ this.setState({
700
+ needRenderLock: nextNeedRenderLock
701
+ });
702
+ }
703
+ } else {
704
+ if (needRenderLock) {
705
+ this.setState({
706
+ needRenderLock: false
707
+ });
708
+ }
709
+ }
710
+ }
711
+ }]);
712
+
713
+ return BaseTable;
714
+ }(React.Component);
715
+ BaseTable.defaultProps = {
716
+ hasHeader: true,
717
+ isStickyHeader: true,
718
+ stickyTop: 0,
719
+ footerDataSource: [],
720
+ isStickyFooter: true,
721
+ stickyBottom: 0,
722
+ hasStickyScroll: true,
723
+ stickyScrollHeight: 'auto',
724
+ useVirtual: 'auto',
725
+ estimatedRowHeight: 48,
726
+ isLoading: false,
727
+ components: {},
728
+ getTableProps: noop,
729
+ getRowProps: noop,
730
+ flowRoot: 'auto',
731
+ dataSource: [],
732
+ useOuterBorder: true
733
+ };