@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,228 @@
1
+ /** elementUtil html元素用的工具函数 */
2
+ // 获取面板相对屏幕的位置 panel - 面板 trigger - 触发器
3
+ // export function getPanelScreenByTrigger ({ panel, trigger, defaultAlign }) {
4
+ // if (!panel || !trigger) return {}
5
+ // // 触发器相对于浏览器的位置
6
+ // const triggerScreen = trigger.getBoundingClientRect()
7
+ // // 触发器下方剩余高度
8
+ // const bottomHeight = window.innerHeight - triggerScreen.top - trigger.offsetHeight
9
+ // // 触发器上方剩余高度
10
+ // const topHeight = triggerScreen.top
11
+ // // 默认优先显示在触发器的下方
12
+ // let top = bottomHeight >= panel.offsetHeight || bottomHeight > topHeight
13
+ // ? triggerScreen.top + trigger.offsetHeight // 显示在触发器下方
14
+ // : triggerScreen.top - panel.offsetHeight // 显示在触发器下方
15
+ // defaultAlign = defaultAlign || {}
16
+ // if (defaultAlign.top) { // 优先显示在触发器的上方
17
+ // top = topHeight >= panel.offsetHeight || topHeight > bottomHeight
18
+ // ? triggerScreen.top - panel.offsetHeight
19
+ // : triggerScreen.top + trigger.offsetHeight
20
+ // }
21
+ // // 浏览器右侧剩余宽度
22
+ // const rightWidth = window.innerWidth - triggerScreen.left - trigger.offsetWidth
23
+ // // 浏览器左侧剩余宽度
24
+ // const leftWidth = triggerScreen.left
25
+ // // 默认优先靠左显示
26
+ // let left = rightWidth + trigger.offsetWidth >= panel.offsetWidth ||
27
+ // rightWidth > leftWidth
28
+ // ? triggerScreen.left
29
+ // : triggerScreen.left + trigger.offsetWidth - panel.offsetWidth
30
+ // if (defaultAlign.right) { // 优先靠右显示
31
+ // left = leftWidth + trigger.offsetWidth > panel.offsetWidth ||
32
+ // leftWidth > rightWidth
33
+ // ? triggerScreen.left + trigger.offsetWidth - panel.offsetWidth
34
+ // : triggerScreen.left
35
+ // }
36
+ // // 增加左右显示的标识
37
+ // if (rightWidth >= panel.offsetWidth) {
38
+ // panel.classList.add('j-left')
39
+ // } else {
40
+ // panel.classList.add('j-right')
41
+ // }
42
+ // const realHeight = bottomHeight > topHeight ? bottomHeight : topHeight
43
+ // // 空间不足且显示在上方,top设0避免溢出
44
+ // if (panel.offsetHeight > realHeight && topHeight > bottomHeight) {
45
+ // top = 0
46
+ // }
47
+ // return { top, left, realHeight }
48
+ // }
49
+ export function getEventPath(event) {
50
+ if (event.deepPath) {
51
+ // IE supports deep path
52
+ return event.deepPath();
53
+ } else if (event.path) {
54
+ // Chrome supports path
55
+ return event.path;
56
+ } else if (event.composedPath) {
57
+ // Firefox supports composePath
58
+ return event.composedPath();
59
+ }
60
+
61
+ return createEventPath(event);
62
+ }
63
+
64
+ function createEventPath(event) {
65
+ var res = [];
66
+ var pointer = event.target;
67
+
68
+ while (pointer) {
69
+ res.push(pointer);
70
+ pointer = pointer.parentElement;
71
+ }
72
+
73
+ return res;
74
+ }
75
+
76
+ ;
77
+ /**
78
+ * 获取点击事件是否发生在元素内部
79
+ * @param ele
80
+ * @param event
81
+ */
82
+
83
+ export function isElementInEventPath(ele, event) {
84
+ if (!ele || !event) {
85
+ return false;
86
+ }
87
+
88
+ var path = getEventPath(event);
89
+ return path.indexOf(ele) >= 0;
90
+ }
91
+ /**
92
+ * 根据点击路径获取对应元素
93
+ * @param path
94
+ * @param isTargetCb
95
+ */
96
+
97
+ export function getTargetEleInEventPath(path, isTargetCb) {
98
+ var target;
99
+ var l = 0;
100
+
101
+ while (!target && l < path.length) {
102
+ var ele = path[l];
103
+
104
+ if (isTargetCb(ele)) {
105
+ target = ele;
106
+ }
107
+
108
+ l++;
109
+ }
110
+
111
+ return target;
112
+ }
113
+ /**
114
+ * 获得鼠标点击相对父面板位置
115
+ * @param event
116
+ * @param popupParent
117
+ */
118
+
119
+ export function calculatePointerRelative(event, popupParent) {
120
+ var parentRect = popupParent.getBoundingClientRect();
121
+ var documentRect = document.documentElement.getBoundingClientRect();
122
+ return {
123
+ x: event.clientX - (popupParent === document.body ? documentRect.left : parentRect.left),
124
+ y: event.clientY - (popupParent === document.body ? documentRect.top : parentRect.top)
125
+ };
126
+ }
127
+ /**
128
+ * 获取面板相对父面板位置
129
+ * @param event
130
+ * @param popupParent
131
+ */
132
+
133
+ export function calculatePopupRelative(trigger, popupParent, offset) {
134
+ var triggerRect = trigger.getBoundingClientRect();
135
+ var parent = popupParent === document.body ? document.documentElement : popupParent;
136
+ var parentRect = parent.getBoundingClientRect();
137
+ return {
138
+ x: triggerRect.left - parentRect.left - (offset ? offset.x : 0),
139
+ y: triggerRect.top - parentRect.top - (offset ? offset.y : 0)
140
+ };
141
+ }
142
+
143
+ function getPerfectX(_ref) {
144
+ var x = _ref.x,
145
+ maxX = _ref.maxX,
146
+ width = _ref.width,
147
+ isPerfectX = _ref.isPerfectX;
148
+
149
+ if (isPerfectX && Math.max(x, 0) > Math.abs(maxX)) {
150
+ //看左侧空间是否足够
151
+ var parentAvailableWidth = x;
152
+
153
+ if (width <= parentAvailableWidth) {
154
+ return x - width; //空间足够,往左侧偏移
155
+ }
156
+ } //目前位置,最大支持的位置
157
+
158
+
159
+ return Math.min(Math.max(x, 0), Math.abs(maxX));
160
+ }
161
+
162
+ function getPerfectY(_ref2) {
163
+ var y = _ref2.y,
164
+ maxY = _ref2.maxY,
165
+ height = _ref2.height,
166
+ scrollTop = _ref2.scrollTop,
167
+ isBody = _ref2.isBody,
168
+ isPerfectY = _ref2.isPerfectY;
169
+
170
+ if (isPerfectY && Math.max(y, 0) > Math.abs(maxY)) {
171
+ //看下上方空间是否足够
172
+ var parentAvailableHeight = isBody ? y - scrollTop : y;
173
+
174
+ if (height <= parentAvailableHeight) {
175
+ //上方空间足够,向上展示
176
+ return y - height;
177
+ }
178
+ } //目前位置,最大支持的位置
179
+
180
+
181
+ return Math.min(Math.max(y, 0), Math.abs(maxY));
182
+ }
183
+
184
+ export function keepWithinBounds(popupParent, popup, x, y, isPerfect) {
185
+ var parentRect = popupParent.getBoundingClientRect();
186
+ var docElement = document.documentElement;
187
+ var docRect = docElement.getBoundingClientRect();
188
+ var popupRect = popup.getBoundingClientRect();
189
+ var parentAvailableWidth = parentRect.width;
190
+ var parentAvailableHeight = parentRect.height;
191
+ var isBody = popupParent === document.body;
192
+
193
+ if (isBody) {
194
+ //ducument的宽度减去 父元素到document边界的的宽度,就是剩余可显示的宽度
195
+ parentAvailableWidth = docRect.width - Math.abs(docRect.left - parentRect.left); //ducument的高度加上滚动条的高度减去 父元素到document边界的的宽度,就是剩余可显示的高度
196
+
197
+ parentAvailableHeight = docRect.height + docElement.scrollTop - Math.abs(docRect.top - parentRect.top);
198
+ }
199
+
200
+ if (x) {
201
+ var width = popupRect.width;
202
+ var maxX = parentAvailableWidth - width;
203
+ x = getPerfectX({
204
+ x: x,
205
+ maxX: maxX,
206
+ width: width,
207
+ isPerfectX: isPerfect
208
+ });
209
+ }
210
+
211
+ if (y) {
212
+ var height = popupRect.height;
213
+ var maxY = parentAvailableHeight - height;
214
+ y = getPerfectY({
215
+ y: y,
216
+ maxY: maxY,
217
+ height: height,
218
+ scrollTop: docElement.scrollTop,
219
+ isBody: isBody,
220
+ isPerfectY: isPerfect
221
+ });
222
+ }
223
+
224
+ return {
225
+ x: x,
226
+ y: y
227
+ };
228
+ }
@@ -0,0 +1,4 @@
1
+ import type XLSX_NS from 'xlsx';
2
+ import { ArtColumn } from '../interfaces';
3
+ /** 根据 BaseTable 的 dataSource 和 column,将表格数据导出为 Excel 文件 */
4
+ export default function exportTableAsExcel(xlsxPackage: typeof XLSX_NS, dataSource: any[], columns: ArtColumn[], filename: string): void;
@@ -0,0 +1,188 @@
1
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
2
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
3
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
4
+ import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
5
+ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
6
+ import _getIteratorMethod from "@babel/runtime-corejs3/core-js/get-iterator-method";
7
+ import _getIterator from "@babel/runtime-corejs3/core-js/get-iterator";
8
+
9
+ 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; } } }; }
10
+
11
+ 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); }
12
+
13
+ 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; }
14
+
15
+ import SpanManager from '../base/helpers/SpanManager';
16
+ import { internals } from '../internals';
17
+ import collectNodes from './collectNodes';
18
+ import getTreeDepth from './getTreeDepth';
19
+ import isLeafNode from './isLeafNode';
20
+
21
+ function safeGetSpanRect(column, record, rowIndex, colIndex) {
22
+ var colSpan = 1;
23
+ var rowSpan = 1;
24
+
25
+ if (column.getSpanRect) {
26
+ var value = internals.safeGetValue(column, record, rowIndex);
27
+ var spanRect = column.getSpanRect(value, record, rowIndex);
28
+ colSpan = spanRect == null ? 1 : spanRect.right - colIndex;
29
+ rowSpan = spanRect == null ? 1 : spanRect.bottom - rowIndex;
30
+ } else {
31
+ var cellProps = internals.safeGetCellProps(column, record, rowIndex);
32
+
33
+ if (cellProps.colSpan != null) {
34
+ colSpan = cellProps.colSpan;
35
+ }
36
+
37
+ if (cellProps.rowSpan != null) {
38
+ rowSpan = cellProps.rowSpan;
39
+ }
40
+ } // 注意这里没有考虑「rowSpan/colSpan 不能过大,避免 rowSpan/colSpan 影响因虚拟滚动而未渲染的单元格」
41
+
42
+
43
+ return {
44
+ top: rowIndex,
45
+ bottom: rowIndex + rowSpan,
46
+ left: colIndex,
47
+ right: colIndex + colSpan
48
+ };
49
+ }
50
+
51
+ function move(_ref, dx, dy) {
52
+ var c = _ref.c,
53
+ r = _ref.r;
54
+ return {
55
+ c: c + dx,
56
+ r: r + dy
57
+ };
58
+ }
59
+
60
+ function sanitizeCellDatum(value) {
61
+ if (value === Infinity || value === -Infinity || typeof value === 'number' && isNaN(value)) {
62
+ return null;
63
+ } else {
64
+ return value;
65
+ }
66
+ }
67
+ /** 根据 BaseTable 的 dataSource 和 column,将表格数据导出为 Excel 文件 */
68
+
69
+
70
+ export default function exportTableAsExcel(xlsxPackage, dataSource, columns, filename) {
71
+ var sheet = xlsxPackage.utils.aoa_to_sheet([]);
72
+ var topHeaderHeight = getTreeDepth(columns) + 1;
73
+ var origin = {
74
+ c: 0,
75
+ r: 0
76
+ };
77
+ addTopHeaders(origin);
78
+ addDataPart(move(origin, 0, topHeaderHeight));
79
+ xlsxPackage.writeFile({
80
+ SheetNames: ['Sheet1'],
81
+ Sheets: {
82
+ Sheet1: sheet
83
+ }
84
+ }, filename);
85
+
86
+ function addTopHeaders(origin) {
87
+ dfs(columns, 0, 0);
88
+
89
+ function dfs(cols, startDx, startDy) {
90
+ var _a;
91
+
92
+ var start = move(origin, startDx, startDy);
93
+ var offsetX = 0;
94
+
95
+ var _iterator = _createForOfIteratorHelper(cols),
96
+ _step;
97
+
98
+ try {
99
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
100
+ var col = _step.value;
101
+
102
+ if ((_a = col.features) === null || _a === void 0 ? void 0 : _a.noExport) {
103
+ continue;
104
+ }
105
+
106
+ var current = move(start, offsetX, 0);
107
+ addOne(col.name, current);
108
+
109
+ if (isLeafNode(col)) {
110
+ offsetX += 1;
111
+ mergeCells(current, 1, topHeaderHeight - startDy);
112
+ } else {
113
+ var childrenWidth = dfs(col.children, startDx + offsetX, startDy + 1);
114
+ mergeCells(current, childrenWidth, 1);
115
+ offsetX += childrenWidth;
116
+ }
117
+ }
118
+ } catch (err) {
119
+ _iterator.e(err);
120
+ } finally {
121
+ _iterator.f();
122
+ }
123
+
124
+ return offsetX;
125
+ }
126
+ }
127
+
128
+ function addDataPart(origin) {
129
+ var _context;
130
+
131
+ var leafColumns = _filterInstanceProperty(_context = collectNodes(columns, 'leaf-only')).call(_context, function (col) {
132
+ var _a;
133
+
134
+ return !((_a = col.features) === null || _a === void 0 ? void 0 : _a.noExport);
135
+ });
136
+
137
+ var spanManager = new SpanManager();
138
+
139
+ var dataPart = _mapInstanceProperty(dataSource).call(dataSource, function (record, rowIndex) {
140
+ spanManager.stripUpwards(rowIndex);
141
+ return _mapInstanceProperty(leafColumns).call(leafColumns, function (col, colIndex) {
142
+ if (spanManager.testSkip(rowIndex, colIndex)) {
143
+ return null;
144
+ }
145
+
146
+ var spanRect = safeGetSpanRect(col, record, rowIndex, colIndex);
147
+ var rowSpan = spanRect.bottom - spanRect.top;
148
+ var colSpan = spanRect.right - spanRect.left;
149
+
150
+ if (rowSpan > 1 || colSpan > 1) {
151
+ spanManager.add(spanRect.top, spanRect.left, colSpan, rowSpan);
152
+ mergeCells(move(origin, spanRect.left, spanRect.top), colSpan, rowSpan);
153
+ }
154
+
155
+ return sanitizeCellDatum(internals.safeGetValue(col, record, rowIndex));
156
+ });
157
+ });
158
+
159
+ add(dataPart, origin);
160
+ }
161
+
162
+ function add(data, origin) {
163
+ xlsxPackage.utils.sheet_add_aoa(sheet, data, {
164
+ origin: origin
165
+ });
166
+ }
167
+
168
+ function addOne(datum, origin) {
169
+ xlsxPackage.utils.sheet_add_aoa(sheet, [[datum]], {
170
+ origin: origin
171
+ });
172
+ }
173
+
174
+ function mergeCells(addr, width, height) {
175
+ if (width === 1 && height === 1) {
176
+ return;
177
+ }
178
+
179
+ if (sheet['!merges'] == null) {
180
+ sheet['!merges'] = [];
181
+ }
182
+
183
+ sheet['!merges'].push({
184
+ s: addr,
185
+ e: move(addr, width - 1, height - 1)
186
+ });
187
+ }
188
+ }
@@ -0,0 +1,3 @@
1
+ import { AbstractTreeNode } from '../interfaces';
2
+ /** 获取一棵树的高度/深度 (0-based) */
3
+ export default function getTreeDepth(nodes: AbstractTreeNode[]): number;
@@ -0,0 +1,41 @@
1
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
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
+
7
+ 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; } } }; }
8
+
9
+ function _unsupportedIterableToArray(o, minLen) { var _context; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 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); }
10
+
11
+ 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; }
12
+
13
+ import isLeafNode from './isLeafNode';
14
+ /** 获取一棵树的高度/深度 (0-based) */
15
+
16
+ export default function getTreeDepth(nodes) {
17
+ var maxDepth = -1;
18
+ dfs(nodes, 0);
19
+ return maxDepth;
20
+
21
+ function dfs(columns, depth) {
22
+ var _iterator = _createForOfIteratorHelper(columns),
23
+ _step;
24
+
25
+ try {
26
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
27
+ var column = _step.value;
28
+
29
+ if (isLeafNode(column)) {
30
+ maxDepth = Math.max(maxDepth, depth);
31
+ } else {
32
+ dfs(column.children, depth + 1);
33
+ }
34
+ }
35
+ } catch (err) {
36
+ _iterator.e(err);
37
+ } finally {
38
+ _iterator.f();
39
+ }
40
+ }
41
+ }
@@ -0,0 +1 @@
1
+ export default function groupBy<T, K extends string>(list: T[], iteratee: (t: T) => K): { [key in K]: T[]; };
@@ -0,0 +1,37 @@
1
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
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
+
7
+ 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; } } }; }
8
+
9
+ function _unsupportedIterableToArray(o, minLen) { var _context; if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 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); }
10
+
11
+ 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; }
12
+
13
+ export default function groupBy(list, iteratee) {
14
+ var groups = {};
15
+
16
+ var _iterator = _createForOfIteratorHelper(list),
17
+ _step;
18
+
19
+ try {
20
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
21
+ var item = _step.value;
22
+ var key = iteratee(item);
23
+
24
+ if (groups[key] == null) {
25
+ groups[key] = [];
26
+ }
27
+
28
+ groups[key].push(item);
29
+ }
30
+ } catch (err) {
31
+ _iterator.e(err);
32
+ } finally {
33
+ _iterator.f();
34
+ }
35
+
36
+ return groups;
37
+ }
@@ -0,0 +1,18 @@
1
+ export { default as collectNodes } from './collectNodes';
2
+ export { default as getTreeDepth } from './getTreeDepth';
3
+ export { default as groupBy } from './groupBy';
4
+ export { default as isLeafNode } from './isLeafNode';
5
+ export { default as isGroupColumn } from './isGroupColumn';
6
+ export { default as applyTransforms } from './applyTransforms';
7
+ export { default as buildTree } from './buildTree';
8
+ export { default as exportTableAsExcel } from './exportTableAsExcel';
9
+ export { default as layeredSort } from './layeredSort';
10
+ export { default as mergeCellProps } from './mergeCellProps';
11
+ export { default as proto } from './proto';
12
+ export { default as makeRecursiveMapper } from './makeRecursiveMapper';
13
+ export { default as smartCompare } from './smartCompare';
14
+ export { default as traverseColumn } from './traverseColumn';
15
+ export { copyDataToClipboard, executeOnTempElement } from './copyToClipboard';
16
+ export { default as layeredFilter } from './layeredFilter';
17
+ export { getEventPath, isElementInEventPath, getTargetEleInEventPath, calculatePointerRelative, calculatePopupRelative, keepWithinBounds } from './element';
18
+ export { default as console } from './console';
@@ -0,0 +1,18 @@
1
+ export { default as collectNodes } from './collectNodes';
2
+ export { default as getTreeDepth } from './getTreeDepth';
3
+ export { default as groupBy } from './groupBy';
4
+ export { default as isLeafNode } from './isLeafNode';
5
+ export { default as isGroupColumn } from './isGroupColumn';
6
+ export { default as applyTransforms } from './applyTransforms';
7
+ export { default as buildTree } from './buildTree';
8
+ export { default as exportTableAsExcel } from './exportTableAsExcel';
9
+ export { default as layeredSort } from './layeredSort';
10
+ export { default as mergeCellProps } from './mergeCellProps';
11
+ export { default as proto } from './proto';
12
+ export { default as makeRecursiveMapper } from './makeRecursiveMapper';
13
+ export { default as smartCompare } from './smartCompare';
14
+ export { default as traverseColumn } from './traverseColumn';
15
+ export { copyDataToClipboard, executeOnTempElement } from './copyToClipboard';
16
+ export { default as layeredFilter } from './layeredFilter';
17
+ export { getEventPath, isElementInEventPath, getTargetEleInEventPath, calculatePointerRelative, calculatePopupRelative, keepWithinBounds } from './element';
18
+ export { default as console } from './console';
@@ -0,0 +1,2 @@
1
+ import { ArtColumn } from '../interfaces';
2
+ export default function isGroupColumn(columns: ArtColumn[]): boolean;
@@ -0,0 +1,7 @@
1
+ import _findIndexInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/find-index";
2
+ // 是否是叶子节点
3
+ export default function isGroupColumn(columns) {
4
+ return _findIndexInstanceProperty(columns).call(columns, function (col) {
5
+ return col.children && col.children.length > 0;
6
+ }) > -1;
7
+ }
@@ -0,0 +1,2 @@
1
+ import { AbstractTreeNode } from '../interfaces';
2
+ export default function isLeafNode(node: AbstractTreeNode): boolean;
@@ -0,0 +1,4 @@
1
+ // 是否是叶子节点
2
+ export default function isLeafNode(node) {
3
+ return node.children == null || node.children.length === 0;
4
+ }
@@ -0,0 +1,2 @@
1
+ import { AbstractTreeNode } from '../interfaces';
2
+ export default function layeredFilter<T extends AbstractTreeNode>(array: T[], filter: (x: T, index: number) => boolean): T[];
@@ -0,0 +1,25 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
2
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
3
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
4
+ import isLeafNode from './isLeafNode';
5
+ export default function layeredFilter(array, filter) {
6
+ return dfs(array);
7
+
8
+ function dfs(rows) {
9
+ var _context;
10
+
11
+ if (!Array.isArray(array)) {
12
+ return array;
13
+ }
14
+
15
+ return _filterInstanceProperty(_context = _mapInstanceProperty(rows).call(rows, function (row) {
16
+ if (isLeafNode(row)) {
17
+ return row;
18
+ }
19
+
20
+ return _extends(_extends({}, row), {
21
+ children: dfs(row.children)
22
+ });
23
+ })).call(_context, filter);
24
+ }
25
+ }
@@ -0,0 +1,5 @@
1
+ import { AbstractTreeNode } from '../interfaces';
2
+ /** 对树状结构的数据进行排序.
3
+ * layeredSort 是一个递归的过程,针对树上的每一个父节点,该函数都会重新对其子节点数组(children) 进行排序.
4
+ * */
5
+ export default function layeredSort<T extends AbstractTreeNode>(array: T[], compare: (x: T, y: T) => number): T[];
@@ -0,0 +1,26 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
2
+ import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
3
+ import isLeafNode from './isLeafNode';
4
+ /** 对树状结构的数据进行排序.
5
+ * layeredSort 是一个递归的过程,针对树上的每一个父节点,该函数都会重新对其子节点数组(children) 进行排序.
6
+ * */
7
+
8
+ export default function layeredSort(array, compare) {
9
+ return dfs(array);
10
+
11
+ function dfs(rows) {
12
+ if (!Array.isArray(array)) {
13
+ return array;
14
+ }
15
+
16
+ return _mapInstanceProperty(rows).call(rows, function (row) {
17
+ if (isLeafNode(row)) {
18
+ return row;
19
+ }
20
+
21
+ return _extends(_extends({}, row), {
22
+ children: dfs(row.children)
23
+ });
24
+ }).sort(compare);
25
+ }
26
+ }
@@ -0,0 +1,9 @@
1
+ import { AbstractTreeNode } from '../interfaces';
2
+ declare type RecursiveFlatMapInfo<T> = {
3
+ startIndex: number;
4
+ endIndex: number;
5
+ path: T[];
6
+ isLeaf: boolean;
7
+ };
8
+ export default function makeRecursiveMapper<T extends AbstractTreeNode>(fn: (node: T, info: RecursiveFlatMapInfo<T>) => null | T | T[]): (tree: T[]) => T[];
9
+ export {};