@kdcloudjs/table 1.2.1-canary.7 → 1.2.2-canary.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (589) hide show
  1. package/LICENSE +568 -568
  2. package/README.md +111 -111
  3. package/dist/@kdcloudjs/table.css +1 -1
  4. package/dist/@kdcloudjs/table.css.map +0 -0
  5. package/dist/@kdcloudjs/table.js +1314 -468
  6. package/dist/@kdcloudjs/table.js.map +1 -1
  7. package/dist/@kdcloudjs/table.min.css +1 -1
  8. package/dist/@kdcloudjs/table.min.js +17 -7
  9. package/dist/@kdcloudjs/table.min.js.map +1 -1
  10. package/dist/default-theme.js +0 -0
  11. package/dist/kd-ui-complete.less +777 -777
  12. package/dist/kd-ui.less +0 -0
  13. package/dist/theme.js +0 -0
  14. package/es/_utils/arrayUtil.d.ts +0 -0
  15. package/es/_utils/arrayUtil.js +0 -0
  16. package/es/_utils/devwarning.d.ts +0 -0
  17. package/es/_utils/devwarning.js +0 -0
  18. package/es/_utils/formatUtil.d.ts +0 -0
  19. package/es/_utils/formatUtil.js +0 -0
  20. package/es/_utils/hooks.d.ts +0 -0
  21. package/es/_utils/hooks.js +0 -0
  22. package/es/_utils/index.d.ts +0 -0
  23. package/es/_utils/index.js +0 -0
  24. package/es/_utils/numberUtil.d.ts +0 -0
  25. package/es/_utils/numberUtil.js +0 -0
  26. package/es/_utils/omit.d.ts +0 -0
  27. package/es/_utils/omit.js +0 -0
  28. package/es/_utils/react-children.d.ts +0 -0
  29. package/es/_utils/react-children.js +0 -0
  30. package/es/_utils/type.d.ts +0 -0
  31. package/es/_utils/type.js +0 -0
  32. package/es/_utils/usePopper.d.ts +0 -0
  33. package/es/_utils/usePopper.js +0 -0
  34. package/es/config-provider/ConfigContext.d.ts +0 -0
  35. package/es/config-provider/ConfigContext.js +0 -0
  36. package/es/config-provider/compDefaultProps.d.ts +0 -0
  37. package/es/config-provider/compDefaultProps.js +0 -0
  38. package/es/config-provider/configProvider.d.ts +0 -0
  39. package/es/config-provider/configProvider.js +0 -0
  40. package/es/config-provider/defaultConfig.d.ts +0 -0
  41. package/es/config-provider/defaultConfig.js +0 -0
  42. package/es/config-provider/index.d.ts +0 -0
  43. package/es/config-provider/index.js +0 -0
  44. package/es/index.d.ts +0 -0
  45. package/es/index.js +0 -0
  46. package/es/locale/index.d.ts +0 -0
  47. package/es/locale/index.js +0 -0
  48. package/es/locale/locale.d.ts +0 -0
  49. package/es/locale/locale.js +2 -2
  50. package/es/locale/zh-CN.d.ts +0 -0
  51. package/es/locale/zh-CN.js +0 -0
  52. package/es/style/color/colors.less +1 -1
  53. package/es/style/core/index.less +1 -1
  54. package/es/style/core/motion/other.less +27 -27
  55. package/es/style/core/motion/slide.less +53 -53
  56. package/es/style/core/motion.less +1 -1
  57. package/es/style/core/reset.less +185 -185
  58. package/es/style/css.js +0 -0
  59. package/es/style/index.css +0 -0
  60. package/es/style/index.d.ts +0 -0
  61. package/es/style/index.js +0 -0
  62. package/es/style/index.less +1 -1
  63. package/es/style/mixins/index.less +18 -18
  64. package/es/style/mixins/overlay.less +21 -21
  65. package/es/style/mixins/reset.less +12 -12
  66. package/es/style/themes/default.less +445 -445
  67. package/es/style/themes/index.less +0 -0
  68. package/es/table/base/calculations.d.ts +0 -0
  69. package/es/table/base/calculations.js +0 -0
  70. package/es/table/base/colgroup.d.ts +0 -0
  71. package/es/table/base/colgroup.js +0 -0
  72. package/es/table/base/empty.d.ts +0 -0
  73. package/es/table/base/empty.js +1 -1
  74. package/es/table/base/globalStyleComponent.d.ts +4 -0
  75. package/es/table/base/globalStyleComponent.js +24 -0
  76. package/es/table/base/header.d.ts +0 -0
  77. package/es/table/base/header.js +0 -0
  78. package/es/table/base/helpers/SpanManager.d.ts +0 -0
  79. package/es/table/base/helpers/SpanManager.js +0 -0
  80. package/es/table/base/helpers/TableDOMUtils.d.ts +0 -0
  81. package/es/table/base/helpers/TableDOMUtils.js +0 -0
  82. package/es/table/base/helpers/__test__/SpanManager.test.d.ts +0 -0
  83. package/es/table/base/helpers/__test__/SpanManager.test.js +0 -0
  84. package/es/table/base/helpers/__test__/TableDOMUtils.test.d.ts +0 -0
  85. package/es/table/base/helpers/__test__/TableDOMUtils.test.js +0 -0
  86. package/es/table/base/helpers/__test__/rowHeightManager.test.d.ts +0 -0
  87. package/es/table/base/helpers/__test__/rowHeightManager.test.js +0 -0
  88. package/es/table/base/helpers/getRichVisibleRectsStream.d.ts +0 -0
  89. package/es/table/base/helpers/getRichVisibleRectsStream.js +0 -0
  90. package/es/table/base/helpers/rowHeightManager.d.ts +0 -0
  91. package/es/table/base/helpers/rowHeightManager.js +0 -0
  92. package/es/table/base/html-table.d.ts +0 -0
  93. package/es/table/base/html-table.js +0 -0
  94. package/es/table/base/index.d.ts +0 -0
  95. package/es/table/base/index.js +0 -0
  96. package/es/table/base/interfaces.d.ts +0 -0
  97. package/es/table/base/interfaces.js +0 -0
  98. package/es/table/base/loading.d.ts +0 -0
  99. package/es/table/base/loading.js +1 -1
  100. package/es/table/base/renderTemplates.d.ts +0 -0
  101. package/es/table/base/renderTemplates.js +11 -11
  102. package/es/table/base/styles.d.ts +10 -0
  103. package/es/table/base/styles.js +17 -7
  104. package/es/table/base/table.d.ts +0 -0
  105. package/es/table/base/table.js +5 -4
  106. package/es/table/base/utils.d.ts +0 -0
  107. package/es/table/base/utils.js +0 -0
  108. package/es/table/common-views.d.ts +0 -0
  109. package/es/table/common-views.js +0 -0
  110. package/es/table/index.d.ts +0 -0
  111. package/es/table/index.js +0 -0
  112. package/es/table/interfaces.d.ts +41 -0
  113. package/es/table/interfaces.js +0 -0
  114. package/es/table/internals.d.ts +0 -0
  115. package/es/table/internals.js +0 -0
  116. package/es/table/pipeline/const.d.ts +3 -0
  117. package/es/table/pipeline/const.js +3 -0
  118. package/es/table/pipeline/features/autoFill.d.ts +0 -0
  119. package/es/table/pipeline/features/autoFill.js +0 -0
  120. package/es/table/pipeline/features/autoRowSpan.d.ts +0 -0
  121. package/es/table/pipeline/features/autoRowSpan.js +0 -0
  122. package/es/table/pipeline/features/buildTree.d.ts +0 -0
  123. package/es/table/pipeline/features/buildTree.js +0 -0
  124. package/es/table/pipeline/features/colGroupExtendable.d.ts +0 -0
  125. package/es/table/pipeline/features/colGroupExtendable.js +0 -0
  126. package/es/table/pipeline/features/columnDrag.d.ts +0 -0
  127. package/es/table/pipeline/features/columnDrag.js +0 -0
  128. package/es/table/pipeline/features/columnFilter.d.ts +0 -0
  129. package/es/table/pipeline/features/columnFilter.js +0 -0
  130. package/es/table/pipeline/features/columnHover.d.ts +0 -0
  131. package/es/table/pipeline/features/columnHover.js +0 -0
  132. package/es/table/pipeline/features/columnRangeHover.d.ts +0 -0
  133. package/es/table/pipeline/features/columnRangeHover.js +0 -0
  134. package/es/table/pipeline/features/columnResizeWidth.d.ts +0 -0
  135. package/es/table/pipeline/features/columnResizeWidth.js +1 -1
  136. package/es/table/pipeline/features/contextMenu.d.ts +0 -0
  137. package/es/table/pipeline/features/contextMenu.js +0 -0
  138. package/es/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
  139. package/es/table/pipeline/features/featureApi/RowDragApi.js +66 -0
  140. package/es/table/pipeline/features/featureApi/utils.d.ts +2 -0
  141. package/es/table/pipeline/features/featureApi/utils.js +10 -0
  142. package/es/table/pipeline/features/filter/DefaultFilterContent.d.ts +0 -0
  143. package/es/table/pipeline/features/filter/DefaultFilterContent.js +1 -1
  144. package/es/table/pipeline/features/filter/DefaultFilterIcon.d.ts +0 -0
  145. package/es/table/pipeline/features/filter/DefaultFilterIcon.js +0 -0
  146. package/es/table/pipeline/features/filter/Filter.d.ts +0 -0
  147. package/es/table/pipeline/features/filter/Filter.js +1 -1
  148. package/es/table/pipeline/features/filter/FilterPanel.d.ts +0 -0
  149. package/es/table/pipeline/features/filter/FilterPanel.js +0 -0
  150. package/es/table/pipeline/features/filter/index.d.ts +0 -0
  151. package/es/table/pipeline/features/filter/index.js +0 -0
  152. package/es/table/pipeline/features/filter/util.d.ts +0 -0
  153. package/es/table/pipeline/features/filter/util.js +0 -0
  154. package/es/table/pipeline/features/footerDataSource.d.ts +0 -0
  155. package/es/table/pipeline/features/footerDataSource.js +0 -0
  156. package/es/table/pipeline/features/index.d.ts +0 -0
  157. package/es/table/pipeline/features/index.js +0 -0
  158. package/es/table/pipeline/features/mergeCellHover.d.ts +0 -0
  159. package/es/table/pipeline/features/mergeCellHover.js +0 -0
  160. package/es/table/pipeline/features/multiSelect.d.ts +0 -0
  161. package/es/table/pipeline/features/multiSelect.js +0 -0
  162. package/es/table/pipeline/features/rangeSelection.d.ts +0 -0
  163. package/es/table/pipeline/features/rangeSelection.js +0 -0
  164. package/es/table/pipeline/features/rowDetail.d.ts +0 -0
  165. package/es/table/pipeline/features/rowDetail.js +1 -1
  166. package/es/table/pipeline/features/rowDrag.d.ts +12 -12
  167. package/es/table/pipeline/features/rowDrag.js +523 -191
  168. package/es/table/pipeline/features/rowGrouping.d.ts +0 -0
  169. package/es/table/pipeline/features/rowGrouping.js +1 -1
  170. package/es/table/pipeline/features/singleSelect.d.ts +0 -0
  171. package/es/table/pipeline/features/singleSelect.js +0 -0
  172. package/es/table/pipeline/features/sort.d.ts +0 -0
  173. package/es/table/pipeline/features/sort.js +1 -1
  174. package/es/table/pipeline/features/tips.d.ts +0 -0
  175. package/es/table/pipeline/features/tips.js +1 -1
  176. package/es/table/pipeline/features/treeMode.d.ts +1 -0
  177. package/es/table/pipeline/features/treeMode.js +38 -10
  178. package/es/table/pipeline/features/treeSelect.d.ts +0 -0
  179. package/es/table/pipeline/features/treeSelect.js +0 -0
  180. package/es/table/pipeline/index.d.ts +0 -0
  181. package/es/table/pipeline/index.js +0 -0
  182. package/es/table/pipeline/pipeline.d.ts +3 -0
  183. package/es/table/pipeline/pipeline.js +23 -1
  184. package/es/table/pivot/cross-table/buildCrossTable.d.ts +0 -0
  185. package/es/table/pivot/cross-table/buildCrossTable.js +0 -0
  186. package/es/table/pivot/cross-table/constants.d.ts +0 -0
  187. package/es/table/pivot/cross-table/constants.js +0 -0
  188. package/es/table/pivot/cross-table/cross-table.d.ts +0 -0
  189. package/es/table/pivot/cross-table/cross-table.js +0 -0
  190. package/es/table/pivot/cross-table/index.d.ts +0 -0
  191. package/es/table/pivot/cross-table/index.js +0 -0
  192. package/es/table/pivot/cross-table/interfaces.d.ts +0 -0
  193. package/es/table/pivot/cross-table/interfaces.js +0 -0
  194. package/es/table/pivot/cross-table/internals.d.ts +0 -0
  195. package/es/table/pivot/cross-table/internals.js +0 -0
  196. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.d.ts +0 -0
  197. package/es/table/pivot/cross-tree-table/buildCrossTreeTable.js +0 -0
  198. package/es/table/pivot/cross-tree-table/cross-tree-table.d.ts +0 -0
  199. package/es/table/pivot/cross-tree-table/cross-tree-table.js +0 -0
  200. package/es/table/pivot/cross-tree-table/index.d.ts +0 -0
  201. package/es/table/pivot/cross-tree-table/index.js +0 -0
  202. package/es/table/pivot/pivot-utils/buildDrillTree.d.ts +0 -0
  203. package/es/table/pivot/pivot-utils/buildDrillTree.js +0 -0
  204. package/es/table/pivot/pivot-utils/builders.d.ts +0 -0
  205. package/es/table/pivot/pivot-utils/builders.js +0 -0
  206. package/es/table/pivot/pivot-utils/convert-utils.d.ts +0 -0
  207. package/es/table/pivot/pivot-utils/convert-utils.js +0 -0
  208. package/es/table/pivot/pivot-utils/index.d.ts +0 -0
  209. package/es/table/pivot/pivot-utils/index.js +0 -0
  210. package/es/table/pivot/pivot-utils/interfaces.d.ts +0 -0
  211. package/es/table/pivot/pivot-utils/interfaces.js +0 -0
  212. package/es/table/pivot/pivot-utils/simpleEncode.d.ts +0 -0
  213. package/es/table/pivot/pivot-utils/simpleEncode.js +0 -0
  214. package/es/table/style/css.js +0 -0
  215. package/es/table/style/index.css +0 -0
  216. package/es/table/style/index.d.ts +0 -0
  217. package/es/table/style/index.js +0 -0
  218. package/es/table/style/index.less +1 -1
  219. package/es/table/transforms/autoRowSpan.d.ts +0 -0
  220. package/es/table/transforms/autoRowSpan.js +0 -0
  221. package/es/table/transforms/autoWidth.d.ts +0 -0
  222. package/es/table/transforms/autoWidth.js +0 -0
  223. package/es/table/transforms/buildTree.d.ts +0 -0
  224. package/es/table/transforms/buildTree.js +0 -0
  225. package/es/table/transforms/columnHover.d.ts +0 -0
  226. package/es/table/transforms/columnHover.js +0 -0
  227. package/es/table/transforms/columnRangeHover.d.ts +0 -0
  228. package/es/table/transforms/columnRangeHover.js +0 -0
  229. package/es/table/transforms/columnResize.d.ts +0 -0
  230. package/es/table/transforms/columnResize.js +1 -1
  231. package/es/table/transforms/flatten.d.ts +0 -0
  232. package/es/table/transforms/flatten.js +0 -0
  233. package/es/table/transforms/index.d.ts +0 -0
  234. package/es/table/transforms/index.js +0 -0
  235. package/es/table/transforms/orderField.d.ts +0 -0
  236. package/es/table/transforms/orderField.js +0 -0
  237. package/es/table/transforms/sort.d.ts +0 -0
  238. package/es/table/transforms/sort.js +1 -1
  239. package/es/table/transforms/tips.d.ts +0 -0
  240. package/es/table/transforms/tips.js +1 -1
  241. package/es/table/transforms/treeMode.d.ts +0 -0
  242. package/es/table/transforms/treeMode.js +1 -1
  243. package/es/table/transforms/visible.d.ts +0 -0
  244. package/es/table/transforms/visible.js +0 -0
  245. package/es/table/transforms/warnTransformsDeprecated.d.ts +0 -0
  246. package/es/table/transforms/warnTransformsDeprecated.js +0 -0
  247. package/es/table/use/useResizeObserver.d.ts +0 -0
  248. package/es/table/use/useResizeObserver.js +0 -0
  249. package/es/table/utils/applyTransforms.d.ts +0 -0
  250. package/es/table/utils/applyTransforms.js +0 -0
  251. package/es/table/utils/browserType.d.ts +0 -0
  252. package/es/table/utils/browserType.js +0 -0
  253. package/es/table/utils/buildTree.d.ts +0 -0
  254. package/es/table/utils/buildTree.js +0 -0
  255. package/es/table/utils/collectNodes.d.ts +0 -0
  256. package/es/table/utils/collectNodes.js +0 -0
  257. package/es/table/utils/console.d.ts +0 -0
  258. package/es/table/utils/console.js +0 -0
  259. package/es/table/utils/copyToClipboard.d.ts +0 -0
  260. package/es/table/utils/copyToClipboard.js +0 -0
  261. package/es/table/utils/element.d.ts +0 -0
  262. package/es/table/utils/element.js +0 -0
  263. package/es/table/utils/exportTableAsExcel.d.ts +0 -0
  264. package/es/table/utils/exportTableAsExcel.js +0 -0
  265. package/es/table/utils/getTreeDepth.d.ts +0 -0
  266. package/es/table/utils/getTreeDepth.js +0 -0
  267. package/es/table/utils/groupBy.d.ts +0 -0
  268. package/es/table/utils/groupBy.js +0 -0
  269. package/es/table/utils/index.d.ts +0 -0
  270. package/es/table/utils/index.js +0 -0
  271. package/es/table/utils/isGroupColumn.d.ts +0 -0
  272. package/es/table/utils/isGroupColumn.js +0 -0
  273. package/es/table/utils/isLeafNode.d.ts +0 -0
  274. package/es/table/utils/isLeafNode.js +0 -0
  275. package/es/table/utils/keyCode.d.ts +0 -0
  276. package/es/table/utils/keyCode.js +0 -0
  277. package/es/table/utils/layeredFilter.d.ts +0 -0
  278. package/es/table/utils/layeredFilter.js +0 -0
  279. package/es/table/utils/layeredSort.d.ts +0 -0
  280. package/es/table/utils/layeredSort.js +0 -0
  281. package/es/table/utils/makeRecursiveMapper.d.ts +0 -0
  282. package/es/table/utils/makeRecursiveMapper.js +0 -0
  283. package/es/table/utils/mergeCellProps.d.ts +0 -0
  284. package/es/table/utils/mergeCellProps.js +0 -0
  285. package/es/table/utils/others.d.ts +0 -0
  286. package/es/table/utils/others.js +0 -0
  287. package/es/table/utils/proto.d.ts +0 -0
  288. package/es/table/utils/proto.js +0 -0
  289. package/es/table/utils/selectColumn.d.ts +0 -0
  290. package/es/table/utils/selectColumn.js +0 -0
  291. package/es/table/utils/smartCompare.d.ts +0 -0
  292. package/es/table/utils/smartCompare.js +0 -0
  293. package/es/table/utils/traverseColumn.d.ts +0 -0
  294. package/es/table/utils/traverseColumn.js +0 -0
  295. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.d.ts +0 -0
  296. package/es/table/utils/tree-data-helpers/StrictTreeDataHelper.js +0 -0
  297. package/es/table/utils/tree-data-helpers/TreeDataHelper.d.ts +0 -0
  298. package/es/table/utils/tree-data-helpers/TreeDataHelper.js +0 -0
  299. package/es/table/utils/uiDegrade.d.ts +0 -0
  300. package/es/table/utils/uiDegrade.js +0 -0
  301. package/lib/_utils/arrayUtil.d.ts +0 -0
  302. package/lib/_utils/arrayUtil.js +0 -0
  303. package/lib/_utils/devwarning.d.ts +0 -0
  304. package/lib/_utils/devwarning.js +0 -0
  305. package/lib/_utils/formatUtil.d.ts +0 -0
  306. package/lib/_utils/formatUtil.js +0 -0
  307. package/lib/_utils/hooks.d.ts +0 -0
  308. package/lib/_utils/hooks.js +0 -0
  309. package/lib/_utils/index.d.ts +0 -0
  310. package/lib/_utils/index.js +0 -0
  311. package/lib/_utils/numberUtil.d.ts +0 -0
  312. package/lib/_utils/numberUtil.js +0 -0
  313. package/lib/_utils/omit.d.ts +0 -0
  314. package/lib/_utils/omit.js +0 -0
  315. package/lib/_utils/react-children.d.ts +0 -0
  316. package/lib/_utils/react-children.js +0 -0
  317. package/lib/_utils/type.d.ts +0 -0
  318. package/lib/_utils/type.js +0 -0
  319. package/lib/_utils/usePopper.d.ts +0 -0
  320. package/lib/_utils/usePopper.js +0 -0
  321. package/lib/config-provider/ConfigContext.d.ts +0 -0
  322. package/lib/config-provider/ConfigContext.js +0 -0
  323. package/lib/config-provider/compDefaultProps.d.ts +0 -0
  324. package/lib/config-provider/compDefaultProps.js +0 -0
  325. package/lib/config-provider/configProvider.d.ts +0 -0
  326. package/lib/config-provider/configProvider.js +0 -0
  327. package/lib/config-provider/defaultConfig.d.ts +0 -0
  328. package/lib/config-provider/defaultConfig.js +0 -0
  329. package/lib/config-provider/index.d.ts +0 -0
  330. package/lib/config-provider/index.js +0 -0
  331. package/lib/index.d.ts +0 -0
  332. package/lib/index.js +0 -0
  333. package/lib/locale/index.d.ts +0 -0
  334. package/lib/locale/index.js +0 -0
  335. package/lib/locale/locale.d.ts +0 -0
  336. package/lib/locale/locale.js +2 -2
  337. package/lib/locale/zh-CN.d.ts +0 -0
  338. package/lib/locale/zh-CN.js +0 -0
  339. package/lib/style/color/colors.less +1 -1
  340. package/lib/style/components.less +1 -1
  341. package/lib/style/core/index.less +1 -1
  342. package/lib/style/core/motion/other.less +27 -27
  343. package/lib/style/core/motion/slide.less +53 -53
  344. package/lib/style/core/motion.less +1 -1
  345. package/lib/style/core/reset.less +185 -185
  346. package/lib/style/css.js +0 -0
  347. package/lib/style/index.css +0 -0
  348. package/lib/style/index.d.ts +0 -0
  349. package/lib/style/index.js +0 -0
  350. package/lib/style/index.less +1 -1
  351. package/lib/style/mixins/index.less +18 -18
  352. package/lib/style/mixins/overlay.less +21 -21
  353. package/lib/style/mixins/reset.less +12 -12
  354. package/lib/style/themes/default.less +445 -445
  355. package/lib/style/themes/index.less +0 -0
  356. package/lib/table/base/calculations.d.ts +0 -0
  357. package/lib/table/base/calculations.js +0 -0
  358. package/lib/table/base/colgroup.d.ts +0 -0
  359. package/lib/table/base/colgroup.js +0 -0
  360. package/lib/table/base/empty.d.ts +0 -0
  361. package/lib/table/base/empty.js +1 -1
  362. package/lib/table/base/globalStyleComponent.d.ts +4 -0
  363. package/lib/table/base/globalStyleComponent.js +35 -0
  364. package/lib/table/base/header.d.ts +0 -0
  365. package/lib/table/base/header.js +0 -0
  366. package/lib/table/base/helpers/SpanManager.d.ts +0 -0
  367. package/lib/table/base/helpers/SpanManager.js +0 -0
  368. package/lib/table/base/helpers/TableDOMUtils.d.ts +0 -0
  369. package/lib/table/base/helpers/TableDOMUtils.js +0 -0
  370. package/lib/table/base/helpers/__test__/SpanManager.test.d.ts +0 -0
  371. package/lib/table/base/helpers/__test__/SpanManager.test.js +0 -0
  372. package/lib/table/base/helpers/__test__/TableDOMUtils.test.d.ts +0 -0
  373. package/lib/table/base/helpers/__test__/TableDOMUtils.test.js +0 -0
  374. package/lib/table/base/helpers/__test__/rowHeightManager.test.d.ts +0 -0
  375. package/lib/table/base/helpers/__test__/rowHeightManager.test.js +0 -0
  376. package/lib/table/base/helpers/getRichVisibleRectsStream.d.ts +0 -0
  377. package/lib/table/base/helpers/getRichVisibleRectsStream.js +0 -0
  378. package/lib/table/base/helpers/rowHeightManager.d.ts +0 -0
  379. package/lib/table/base/helpers/rowHeightManager.js +0 -0
  380. package/lib/table/base/html-table.d.ts +0 -0
  381. package/lib/table/base/html-table.js +0 -0
  382. package/lib/table/base/index.d.ts +0 -0
  383. package/lib/table/base/index.js +0 -0
  384. package/lib/table/base/interfaces.d.ts +0 -0
  385. package/lib/table/base/interfaces.js +0 -0
  386. package/lib/table/base/loading.d.ts +0 -0
  387. package/lib/table/base/loading.js +1 -1
  388. package/lib/table/base/renderTemplates.d.ts +0 -0
  389. package/lib/table/base/renderTemplates.js +11 -11
  390. package/lib/table/base/styles.d.ts +10 -0
  391. package/lib/table/base/styles.js +17 -7
  392. package/lib/table/base/table.d.ts +0 -0
  393. package/lib/table/base/table.js +5 -4
  394. package/lib/table/base/utils.d.ts +0 -0
  395. package/lib/table/base/utils.js +0 -0
  396. package/lib/table/common-views.d.ts +0 -0
  397. package/lib/table/common-views.js +0 -0
  398. package/lib/table/index.d.ts +0 -0
  399. package/lib/table/index.js +0 -0
  400. package/lib/table/interfaces.d.ts +41 -0
  401. package/lib/table/interfaces.js +0 -0
  402. package/lib/table/internals.d.ts +0 -0
  403. package/lib/table/internals.js +0 -0
  404. package/lib/table/pipeline/const.d.ts +3 -0
  405. package/lib/table/pipeline/const.js +9 -0
  406. package/lib/table/pipeline/features/autoFill.d.ts +0 -0
  407. package/lib/table/pipeline/features/autoFill.js +0 -0
  408. package/lib/table/pipeline/features/autoRowSpan.d.ts +0 -0
  409. package/lib/table/pipeline/features/autoRowSpan.js +0 -0
  410. package/lib/table/pipeline/features/buildTree.d.ts +0 -0
  411. package/lib/table/pipeline/features/buildTree.js +0 -0
  412. package/lib/table/pipeline/features/colGroupExtendable.d.ts +0 -0
  413. package/lib/table/pipeline/features/colGroupExtendable.js +0 -0
  414. package/lib/table/pipeline/features/columnDrag.d.ts +0 -0
  415. package/lib/table/pipeline/features/columnDrag.js +0 -0
  416. package/lib/table/pipeline/features/columnFilter.d.ts +0 -0
  417. package/lib/table/pipeline/features/columnFilter.js +0 -0
  418. package/lib/table/pipeline/features/columnHover.d.ts +0 -0
  419. package/lib/table/pipeline/features/columnHover.js +0 -0
  420. package/lib/table/pipeline/features/columnRangeHover.d.ts +0 -0
  421. package/lib/table/pipeline/features/columnRangeHover.js +0 -0
  422. package/lib/table/pipeline/features/columnResizeWidth.d.ts +0 -0
  423. package/lib/table/pipeline/features/columnResizeWidth.js +1 -1
  424. package/lib/table/pipeline/features/contextMenu.d.ts +0 -0
  425. package/lib/table/pipeline/features/contextMenu.js +0 -0
  426. package/lib/table/pipeline/features/featureApi/RowDragApi.d.ts +15 -0
  427. package/lib/table/pipeline/features/featureApi/RowDragApi.js +72 -0
  428. package/lib/table/pipeline/features/featureApi/utils.d.ts +2 -0
  429. package/lib/table/pipeline/features/featureApi/utils.js +17 -0
  430. package/lib/table/pipeline/features/filter/DefaultFilterContent.d.ts +0 -0
  431. package/lib/table/pipeline/features/filter/DefaultFilterContent.js +1 -1
  432. package/lib/table/pipeline/features/filter/DefaultFilterIcon.d.ts +0 -0
  433. package/lib/table/pipeline/features/filter/DefaultFilterIcon.js +0 -0
  434. package/lib/table/pipeline/features/filter/Filter.d.ts +0 -0
  435. package/lib/table/pipeline/features/filter/Filter.js +1 -1
  436. package/lib/table/pipeline/features/filter/FilterPanel.d.ts +0 -0
  437. package/lib/table/pipeline/features/filter/FilterPanel.js +0 -0
  438. package/lib/table/pipeline/features/filter/index.d.ts +0 -0
  439. package/lib/table/pipeline/features/filter/index.js +0 -0
  440. package/lib/table/pipeline/features/filter/util.d.ts +0 -0
  441. package/lib/table/pipeline/features/filter/util.js +0 -0
  442. package/lib/table/pipeline/features/footerDataSource.d.ts +0 -0
  443. package/lib/table/pipeline/features/footerDataSource.js +0 -0
  444. package/lib/table/pipeline/features/index.d.ts +0 -0
  445. package/lib/table/pipeline/features/index.js +0 -0
  446. package/lib/table/pipeline/features/mergeCellHover.d.ts +0 -0
  447. package/lib/table/pipeline/features/mergeCellHover.js +0 -0
  448. package/lib/table/pipeline/features/multiSelect.d.ts +0 -0
  449. package/lib/table/pipeline/features/multiSelect.js +0 -0
  450. package/lib/table/pipeline/features/rangeSelection.d.ts +0 -0
  451. package/lib/table/pipeline/features/rangeSelection.js +0 -0
  452. package/lib/table/pipeline/features/rowDetail.d.ts +0 -0
  453. package/lib/table/pipeline/features/rowDetail.js +1 -1
  454. package/lib/table/pipeline/features/rowDrag.d.ts +12 -12
  455. package/lib/table/pipeline/features/rowDrag.js +524 -192
  456. package/lib/table/pipeline/features/rowGrouping.d.ts +0 -0
  457. package/lib/table/pipeline/features/rowGrouping.js +1 -1
  458. package/lib/table/pipeline/features/singleSelect.d.ts +0 -0
  459. package/lib/table/pipeline/features/singleSelect.js +0 -0
  460. package/lib/table/pipeline/features/sort.d.ts +0 -0
  461. package/lib/table/pipeline/features/sort.js +1 -1
  462. package/lib/table/pipeline/features/tips.d.ts +0 -0
  463. package/lib/table/pipeline/features/tips.js +1 -1
  464. package/lib/table/pipeline/features/treeMode.d.ts +1 -0
  465. package/lib/table/pipeline/features/treeMode.js +39 -10
  466. package/lib/table/pipeline/features/treeSelect.d.ts +0 -0
  467. package/lib/table/pipeline/features/treeSelect.js +0 -0
  468. package/lib/table/pipeline/index.d.ts +0 -0
  469. package/lib/table/pipeline/index.js +0 -0
  470. package/lib/table/pipeline/pipeline.d.ts +3 -0
  471. package/lib/table/pipeline/pipeline.js +23 -1
  472. package/lib/table/pivot/cross-table/buildCrossTable.d.ts +0 -0
  473. package/lib/table/pivot/cross-table/buildCrossTable.js +0 -0
  474. package/lib/table/pivot/cross-table/constants.d.ts +0 -0
  475. package/lib/table/pivot/cross-table/constants.js +0 -0
  476. package/lib/table/pivot/cross-table/cross-table.d.ts +0 -0
  477. package/lib/table/pivot/cross-table/cross-table.js +0 -0
  478. package/lib/table/pivot/cross-table/index.d.ts +0 -0
  479. package/lib/table/pivot/cross-table/index.js +0 -0
  480. package/lib/table/pivot/cross-table/interfaces.d.ts +0 -0
  481. package/lib/table/pivot/cross-table/interfaces.js +0 -0
  482. package/lib/table/pivot/cross-table/internals.d.ts +0 -0
  483. package/lib/table/pivot/cross-table/internals.js +0 -0
  484. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.d.ts +0 -0
  485. package/lib/table/pivot/cross-tree-table/buildCrossTreeTable.js +0 -0
  486. package/lib/table/pivot/cross-tree-table/cross-tree-table.d.ts +0 -0
  487. package/lib/table/pivot/cross-tree-table/cross-tree-table.js +0 -0
  488. package/lib/table/pivot/cross-tree-table/index.d.ts +0 -0
  489. package/lib/table/pivot/cross-tree-table/index.js +0 -0
  490. package/lib/table/pivot/pivot-utils/buildDrillTree.d.ts +0 -0
  491. package/lib/table/pivot/pivot-utils/buildDrillTree.js +0 -0
  492. package/lib/table/pivot/pivot-utils/builders.d.ts +0 -0
  493. package/lib/table/pivot/pivot-utils/builders.js +0 -0
  494. package/lib/table/pivot/pivot-utils/convert-utils.d.ts +0 -0
  495. package/lib/table/pivot/pivot-utils/convert-utils.js +0 -0
  496. package/lib/table/pivot/pivot-utils/index.d.ts +0 -0
  497. package/lib/table/pivot/pivot-utils/index.js +0 -0
  498. package/lib/table/pivot/pivot-utils/interfaces.d.ts +0 -0
  499. package/lib/table/pivot/pivot-utils/interfaces.js +0 -0
  500. package/lib/table/pivot/pivot-utils/simpleEncode.d.ts +0 -0
  501. package/lib/table/pivot/pivot-utils/simpleEncode.js +0 -0
  502. package/lib/table/style/css.js +0 -0
  503. package/lib/table/style/index.css +0 -0
  504. package/lib/table/style/index.d.ts +0 -0
  505. package/lib/table/style/index.js +0 -0
  506. package/lib/table/style/index.less +1 -1
  507. package/lib/table/transforms/autoRowSpan.d.ts +0 -0
  508. package/lib/table/transforms/autoRowSpan.js +0 -0
  509. package/lib/table/transforms/autoWidth.d.ts +0 -0
  510. package/lib/table/transforms/autoWidth.js +0 -0
  511. package/lib/table/transforms/buildTree.d.ts +0 -0
  512. package/lib/table/transforms/buildTree.js +0 -0
  513. package/lib/table/transforms/columnHover.d.ts +0 -0
  514. package/lib/table/transforms/columnHover.js +0 -0
  515. package/lib/table/transforms/columnRangeHover.d.ts +0 -0
  516. package/lib/table/transforms/columnRangeHover.js +0 -0
  517. package/lib/table/transforms/columnResize.d.ts +0 -0
  518. package/lib/table/transforms/columnResize.js +1 -1
  519. package/lib/table/transforms/flatten.d.ts +0 -0
  520. package/lib/table/transforms/flatten.js +0 -0
  521. package/lib/table/transforms/index.d.ts +0 -0
  522. package/lib/table/transforms/index.js +0 -0
  523. package/lib/table/transforms/orderField.d.ts +0 -0
  524. package/lib/table/transforms/orderField.js +0 -0
  525. package/lib/table/transforms/sort.d.ts +0 -0
  526. package/lib/table/transforms/sort.js +1 -1
  527. package/lib/table/transforms/tips.d.ts +0 -0
  528. package/lib/table/transforms/tips.js +1 -1
  529. package/lib/table/transforms/treeMode.d.ts +0 -0
  530. package/lib/table/transforms/treeMode.js +1 -1
  531. package/lib/table/transforms/visible.d.ts +0 -0
  532. package/lib/table/transforms/visible.js +0 -0
  533. package/lib/table/transforms/warnTransformsDeprecated.d.ts +0 -0
  534. package/lib/table/transforms/warnTransformsDeprecated.js +0 -0
  535. package/lib/table/use/useResizeObserver.d.ts +0 -0
  536. package/lib/table/use/useResizeObserver.js +0 -0
  537. package/lib/table/utils/applyTransforms.d.ts +0 -0
  538. package/lib/table/utils/applyTransforms.js +0 -0
  539. package/lib/table/utils/browserType.d.ts +0 -0
  540. package/lib/table/utils/browserType.js +0 -0
  541. package/lib/table/utils/buildTree.d.ts +0 -0
  542. package/lib/table/utils/buildTree.js +0 -0
  543. package/lib/table/utils/collectNodes.d.ts +0 -0
  544. package/lib/table/utils/collectNodes.js +0 -0
  545. package/lib/table/utils/console.d.ts +0 -0
  546. package/lib/table/utils/console.js +0 -0
  547. package/lib/table/utils/copyToClipboard.d.ts +0 -0
  548. package/lib/table/utils/copyToClipboard.js +0 -0
  549. package/lib/table/utils/element.d.ts +0 -0
  550. package/lib/table/utils/element.js +0 -0
  551. package/lib/table/utils/exportTableAsExcel.d.ts +0 -0
  552. package/lib/table/utils/exportTableAsExcel.js +0 -0
  553. package/lib/table/utils/getTreeDepth.d.ts +0 -0
  554. package/lib/table/utils/getTreeDepth.js +0 -0
  555. package/lib/table/utils/groupBy.d.ts +0 -0
  556. package/lib/table/utils/groupBy.js +0 -0
  557. package/lib/table/utils/index.d.ts +0 -0
  558. package/lib/table/utils/index.js +0 -0
  559. package/lib/table/utils/isGroupColumn.d.ts +0 -0
  560. package/lib/table/utils/isGroupColumn.js +0 -0
  561. package/lib/table/utils/isLeafNode.d.ts +0 -0
  562. package/lib/table/utils/isLeafNode.js +0 -0
  563. package/lib/table/utils/keyCode.d.ts +0 -0
  564. package/lib/table/utils/keyCode.js +0 -0
  565. package/lib/table/utils/layeredFilter.d.ts +0 -0
  566. package/lib/table/utils/layeredFilter.js +0 -0
  567. package/lib/table/utils/layeredSort.d.ts +0 -0
  568. package/lib/table/utils/layeredSort.js +0 -0
  569. package/lib/table/utils/makeRecursiveMapper.d.ts +0 -0
  570. package/lib/table/utils/makeRecursiveMapper.js +0 -0
  571. package/lib/table/utils/mergeCellProps.d.ts +0 -0
  572. package/lib/table/utils/mergeCellProps.js +0 -0
  573. package/lib/table/utils/others.d.ts +0 -0
  574. package/lib/table/utils/others.js +0 -0
  575. package/lib/table/utils/proto.d.ts +0 -0
  576. package/lib/table/utils/proto.js +0 -0
  577. package/lib/table/utils/selectColumn.d.ts +0 -0
  578. package/lib/table/utils/selectColumn.js +0 -0
  579. package/lib/table/utils/smartCompare.d.ts +0 -0
  580. package/lib/table/utils/smartCompare.js +0 -0
  581. package/lib/table/utils/traverseColumn.d.ts +0 -0
  582. package/lib/table/utils/traverseColumn.js +0 -0
  583. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.d.ts +0 -0
  584. package/lib/table/utils/tree-data-helpers/StrictTreeDataHelper.js +0 -0
  585. package/lib/table/utils/tree-data-helpers/TreeDataHelper.d.ts +0 -0
  586. package/lib/table/utils/tree-data-helpers/TreeDataHelper.js +0 -0
  587. package/lib/table/utils/uiDegrade.d.ts +0 -0
  588. package/lib/table/utils/uiDegrade.js +0 -0
  589. package/package.json +218 -218
@@ -8,18 +8,24 @@ Object.defineProperty(exports, "__esModule", {
8
8
  });
9
9
  exports.ROW_DRAG_COLUMN_CODE = void 0;
10
10
  exports.rowDrag = rowDrag;
11
- exports.rowDragKey = void 0;
11
+ exports.rowDragOptionsKey = exports.rowDragKey = void 0;
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
13
- var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
14
13
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
14
+ var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
15
+ var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
16
+ var _findIndex = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find-index"));
15
17
  var _react = _interopRequireDefault(require("react"));
16
18
  var _rxjs = require("rxjs");
17
19
  var _operators = require("rxjs/operators");
18
20
  var _classnames = _interopRequireDefault(require("classnames"));
19
21
  var _styles = require("../../base/styles");
22
+ var _const = require("../const");
23
+ var _internals = require("../../internals");
20
24
  var ROW_DRAG_COLUMN_CODE = exports.ROW_DRAG_COLUMN_CODE = '$_row_drag_column_&';
21
25
  var rowDragKey = exports.rowDragKey = 'rowDragKey';
26
+ var rowDragOptionsKey = exports.rowDragOptionsKey = 'rowDragOptions';
22
27
  var SCROLL_OFFSET = 30;
28
+ var SCROLL_START_OFFSET = 20;
23
29
  var defaultRowDragColumn = {
24
30
  name: '拖拽列',
25
31
  code: ROW_DRAG_COLUMN_CODE,
@@ -51,163 +57,281 @@ function rowDrag(opt) {
51
57
  var _context;
52
58
  var tableBody = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.tableBody;
53
59
  var artTable = pipeline.ref.current.domHelper && pipeline.ref.current.domHelper.artTable;
60
+ var rowDragApi = pipeline.addFeatureApi(_const.FeatureName.rowDrag);
61
+ pipeline.setFeatureOptions(rowDragOptionsKey, opt);
54
62
  if (!tableBody) return pipeline;
55
63
  var dataSource = pipeline.getDataSource();
56
- var rowHeight = (opt === null || opt === void 0 ? void 0 : opt.rowHeight) || 48;
57
- var handleDragStrat = function handleDragStrat(event) {
64
+ var getRowDragEvent = function getRowDragEvent(dropTargetEvent, isFinished) {
65
+ var dragItem = dropTargetEvent.dragItem,
66
+ x = dropTargetEvent.x,
67
+ y = dropTargetEvent.y,
68
+ dropZoneTarget = dropTargetEvent.dropZoneTarget,
69
+ startDropZoneTagret = dropTargetEvent.startDropZoneTagret,
70
+ commonParams = dropTargetEvent.commonParams,
71
+ startCommonParams = dropTargetEvent.startCommonParams,
72
+ event = dropTargetEvent.event,
73
+ dropZoneTableParams = dropTargetEvent.dropZoneTableParams;
74
+ var getDataSource = dropZoneTableParams.getDataSource,
75
+ getTreeModeOptions = dropZoneTableParams.getTreeModeOptions,
76
+ getRowDragOptions = dropZoneTableParams.getRowDragOptions;
77
+ var dataSource = getDataSource();
78
+ var treeModeOptions = getTreeModeOptions();
79
+ var rowDragOptions = getRowDragOptions();
80
+ var allowDragIntoRow = !!treeModeOptions && (rowDragOptions === null || rowDragOptions === void 0 ? void 0 : rowDragOptions.allowDragIntoRow);
81
+ var isLeave = !isMouseOnDropTarget(event, dropZoneTarget);
82
+ var overIndex = -1;
83
+ var direction = 'bottom';
84
+ if (!isLeave) {
85
+ var overDragItem = getDragRowItem(event.target, dropZoneTarget, dataSource);
86
+ if (overDragItem) {
87
+ var rowIndex = overDragItem.rowIndex,
88
+ cell = overDragItem.cell;
89
+ overIndex = rowIndex;
90
+ direction = getDirection(cell, event.clientY, allowDragIntoRow);
91
+ }
92
+ }
93
+ var overRow = overIndex >= 0 ? dataSource[overIndex] : null;
94
+ return {
95
+ startRowIndex: dragItem.rowIndex,
96
+ startRow: dragItem.row,
97
+ endRowIndex: overIndex,
98
+ endRow: overRow,
99
+ startDropZoneTagret: startDropZoneTagret,
100
+ startCommonParams: startCommonParams,
101
+ commonParams: commonParams,
102
+ dropZoneTarget: dropZoneTarget,
103
+ event: event,
104
+ dragPosition: direction,
105
+ isFinished: isFinished,
106
+ x: x,
107
+ y: y
108
+ };
109
+ };
110
+ var onDragging = function onDragging(event) {
58
111
  var _a;
59
- // 开始拖拽
60
- artTable.classList.add((0, _classnames.default)(_styles.Classes.rowDragging));
61
- (_a = opt === null || opt === void 0 ? void 0 : opt.onDragStart) === null || _a === void 0 ? void 0 : _a.call(opt, event);
112
+ var rowDragEvent = getRowDragEvent(event, false);
113
+ (_a = opt === null || opt === void 0 ? void 0 : opt.onDragMove) === null || _a === void 0 ? void 0 : _a.call(opt, rowDragEvent);
114
+ pipeline.setStateAtKey(rowDragKey, rowDragEvent);
62
115
  };
63
- var handleDragMove = function handleDragMove(event) {
116
+ var onDragStop = function onDragStop(event) {
64
117
  var _a;
65
- (_a = opt === null || opt === void 0 ? void 0 : opt.onDragMove) === null || _a === void 0 ? void 0 : _a.call(opt, event);
66
- pipeline.setStateAtKey(rowDragKey, event);
118
+ var rowDragEvent = getRowDragEvent(event, true);
119
+ pipeline.setStateAtKey(rowDragKey, rowDragEvent);
120
+ (_a = opt === null || opt === void 0 ? void 0 : opt.onDragEnd) === null || _a === void 0 ? void 0 : _a.call(opt, rowDragEvent);
67
121
  };
68
- var handleDragEnd = function handleDragEnd(event, isValid) {
122
+ var onDragStart = function onDragStart(event) {
69
123
  var _a;
70
- artTable.classList.remove((0, _classnames.default)(_styles.Classes.rowDragging));
71
- pipeline.setStateAtKey(rowDragKey, event);
72
- // 超出拖拽范围不触发dragend事件
73
- if (isValid) {
74
- (_a = opt === null || opt === void 0 ? void 0 : opt.onDragEnd) === null || _a === void 0 ? void 0 : _a.call(opt, event);
75
- }
124
+ var rowDragEvent = getRowDragEvent(event, false);
125
+ (_a = opt === null || opt === void 0 ? void 0 : opt.onDragStart) === null || _a === void 0 ? void 0 : _a.call(opt, rowDragEvent);
76
126
  };
77
- var getDragEvent = function getDragEvent(startRowInfo, endRowInfo, _ref) {
78
- var isFinished = _ref.isFinished,
79
- _ref$dragPosition = _ref.dragPosition,
80
- dragPosition = _ref$dragPosition === void 0 ? 'bottom' : _ref$dragPosition;
81
- return {
82
- startRowIndex: startRowInfo.rowIndex,
83
- startRow: startRowInfo.row,
84
- endRowIndex: endRowInfo.rowIndex,
85
- endRow: endRowInfo.row,
86
- dragPosition: dragPosition,
87
- isFinished: isFinished
88
- };
127
+ var onDragLeave = function onDragLeave(event) {
128
+ var _a;
129
+ var rowDragEvent = getRowDragEvent(event, false);
130
+ pipeline.setStateAtKey(rowDragKey, rowDragEvent);
131
+ (_a = opt === null || opt === void 0 ? void 0 : opt.onDragLeave) === null || _a === void 0 ? void 0 : _a.call(opt, rowDragEvent);
89
132
  };
90
- var updateScrollPosition = function updateScrollPosition(mouseMoveEvent) {
91
- if (opt === null || opt === void 0 ? void 0 : opt.suppressScrollMove) return;
92
- var clientY = mouseMoveEvent.clientY;
93
- var tableBodyClientRect = tableBody.getBoundingClientRect();
94
- var top = tableBodyClientRect.top,
95
- height = tableBodyClientRect.height;
96
- if (clientY + SCROLL_OFFSET >= top + height) {
97
- pipeline.ref.current.domHelper.tableBody.scrollTop += SCROLL_OFFSET;
98
- }
99
- if (clientY + SCROLL_OFFSET <= top) {
100
- pipeline.ref.current.domHelper.tableBody.scrollTop -= SCROLL_OFFSET;
133
+ var onDragEnter = function onDragEnter(event) {
134
+ var _a;
135
+ var rowDragEvent = getRowDragEvent(event, false);
136
+ pipeline.setStateAtKey(rowDragKey, rowDragEvent);
137
+ (_a = opt === null || opt === void 0 ? void 0 : opt.onDragEnter) === null || _a === void 0 ? void 0 : _a.call(opt, rowDragEvent);
138
+ };
139
+ var currentDropZone = {
140
+ getContainer: function getContainer() {
141
+ var lastPipeline = pipeline.getLastPipeline();
142
+ return lastPipeline.ref.current.domHelper.tableBody;
143
+ },
144
+ onDragEnter: onDragEnter,
145
+ onDragLeave: onDragLeave,
146
+ onDragging: onDragging,
147
+ onDragStop: onDragStop,
148
+ isTable: true,
149
+ tableParams: {
150
+ getDataSource: function getDataSource() {
151
+ var lastPipeline = pipeline.getLastPipeline();
152
+ return lastPipeline.getDataSource();
153
+ },
154
+ getTreeModeOptions: function getTreeModeOptions() {
155
+ var lastPipeline = pipeline.getLastPipeline();
156
+ return lastPipeline.getFeatureOptions('treeModeOptions');
157
+ },
158
+ getRowDragOptions: function getRowDragOptions() {
159
+ var lastPipeline = pipeline.getLastPipeline();
160
+ return lastPipeline.getFeatureOptions('rowDragOptions');
161
+ }
101
162
  }
102
163
  };
103
- var onMouseDown = function onMouseDown(mouseDownEvent) {
164
+ var onMouseDown = function onMouseDown(event) {
104
165
  var _a;
105
- var startRowInfo = getTargetRowInfo(mouseDownEvent.target, tableBody, dataSource);
106
- var endRowInfo = startRowInfo;
107
- if (!startRowInfo || startRowInfo.code !== rowDragColumn.code) return;
108
- if ((_a = opt === null || opt === void 0 ? void 0 : opt.isDisabled) === null || _a === void 0 ? void 0 : _a.call(opt, startRowInfo.row, startRowInfo.rowIndex)) return;
109
- // 默认拖拽插入的位置是向下
110
- var dragPosition = 'bottom';
111
- var isOutOfRange = false;
166
+ var mouseDownEvent = event.nativeEvent;
167
+ var startDataItem = getDragRowItem(mouseDownEvent.target, tableBody, dataSource);
168
+ if (!startDataItem || startDataItem.code !== rowDragColumn.code) return;
169
+ if ((_a = opt === null || opt === void 0 ? void 0 : opt.isDisabled) === null || _a === void 0 ? void 0 : _a.call(opt, startDataItem.row, startDataItem.rowIndex)) return;
112
170
  var isValidDrag = false;
113
- var dragStartEvent = getDragEvent(startRowInfo, endRowInfo, {
114
- isFinished: false,
115
- dragPosition: 'bottom'
116
- });
117
- handleDragStrat(dragStartEvent);
118
- var tableWidth = tableBody.clientWidth;
119
- var startRowRects = startRowInfo.cell.getBoundingClientRect();
120
- // 光标位置距离初始拖拽行的偏移量
121
- var mouseDownClientY = mouseDownEvent.clientY;
122
- var startOffset = mouseDownEvent.clientY - startRowRects.top;
123
- var dragElement = createDragElement(startRowRects, tableWidth, rowHeight);
124
- // 可拖拽的范围
125
- var dragRange = getDragRange(tableBody, {
126
- startOffset: startOffset,
127
- rowHeight: rowHeight
128
- });
129
- var mousePosition = {
130
- x: mouseDownEvent.clientX,
131
- y: mouseDownEvent.clientY
171
+ var isDragging = false;
172
+ var dragElement = null;
173
+ var dragLine = null;
174
+ var lastDropTarget = null;
175
+ var timeoutId = null;
176
+ var intervalId = null;
177
+ var expandRowTimeoutId = null;
178
+ var expandRowCallBackList = [];
179
+ var updateScrollPosition = function updateScrollPosition(tableBody, mouseMoveEvent) {
180
+ if (opt === null || opt === void 0 ? void 0 : opt.suppressScrollMove) return;
181
+ if (timeoutId) {
182
+ clearTimeout(timeoutId);
183
+ }
184
+ if (intervalId) {
185
+ clearInterval(intervalId);
186
+ }
187
+ var moveOffset = getScrollMoveOffset(tableBody, mouseMoveEvent);
188
+ if (moveOffset === 0) {
189
+ return;
190
+ }
191
+ timeoutId = setTimeout(function () {
192
+ intervalId = setInterval(function () {
193
+ tableBody.scrollTop += moveOffset;
194
+ }, 100);
195
+ }, 500);
132
196
  };
133
- var mousemove$ = (0, _rxjs.fromEvent)(window, 'mousemove');
134
- var mouseup$ = (0, _rxjs.fromEvent)(window, 'mouseup');
135
- var scrollCallback = function scrollCallback(event) {
136
- // 在当前表格内滚动不处理
137
- if (event.target === tableBody) return;
138
- dragRange = getDragRange(tableBody, {
139
- startOffset: startOffset,
140
- rowHeight: rowHeight
197
+ var handleDragStart = function handleDragStart(mouseDownEvent) {
198
+ var _a;
199
+ dragElement = createDragElement(mouseDownEvent, tableBody); // 创建拖拽悬浮框
200
+ var isTreeTable = !!pipeline.getFeatureOptions('treeModeOptions');
201
+ dragLine = createDragLine(isTreeTable); // 创建拖拽插入指示线
202
+ var dragText = (opt === null || opt === void 0 ? void 0 : opt.rowDragText) ? (_a = opt === null || opt === void 0 ? void 0 : opt.rowDragText) === null || _a === void 0 ? void 0 : _a.call(opt, startDataItem.row, startDataItem.rowIndex) : "\u7B2C".concat(startDataItem.rowIndex, "\u884C\u5185\u5BB9");
203
+ setDragText(dragElement, dragText); // 设置悬浮框显示文本
204
+ artTable.classList.add((0, _classnames.default)(_styles.Classes.rowDragging));
205
+ rowDragApi.setDragStatus('start');
206
+ var dragEvent = createDropTargetEvent(currentDropZone, mouseDownEvent, startDataItem, currentDropZone);
207
+ onDragStart(dragEvent);
208
+ };
209
+ var handleDragMove = function handleDragMove(mouseMoveEvent) {
210
+ var _a;
211
+ positionDragElemment(dragElement, mouseMoveEvent); // 更新拖拽悬浮框位置
212
+ rowDragApi.setDragStatus('dragging');
213
+ setDragElementIcon(dragElement, 'move');
214
+ var rowDropZones = rowDragApi.getRowDropZone();
215
+ var validDropZones = (0, _concat.default)(rowDropZones).call(rowDropZones, currentDropZone); // 可放置区域加上自身
216
+ var dropTarget = (0, _find.default)(validDropZones).call(validDropZones, function (zone) {
217
+ return isMouseOnDropTarget(mouseMoveEvent, zone.getContainer());
218
+ }) || null;
219
+ if (dropTarget !== lastDropTarget) {
220
+ // 拖拽离开表格
221
+ if (lastDropTarget !== null && dropTarget === null) {
222
+ if (lastDropTarget.onDragLeave) {
223
+ setDragElementIcon(dragElement, 'notAllowed');
224
+ hiddenDragLine(dragLine);
225
+ var dragEvent = createDropTargetEvent(lastDropTarget, mouseMoveEvent, startDataItem, currentDropZone);
226
+ lastDropTarget.onDragLeave(dragEvent);
227
+ }
228
+ }
229
+ // 拖拽进入表格
230
+ if (lastDropTarget === null && dropTarget !== null) {
231
+ if (dropTarget.onDragEnter) {
232
+ setDragElementIcon(dragElement, 'move');
233
+ if (dropTarget.isTable) {
234
+ showDragLine(dragLine);
235
+ }
236
+ var _dragEvent = createDropTargetEvent(dropTarget, mouseMoveEvent, startDataItem, currentDropZone);
237
+ dropTarget.onDragEnter(_dragEvent);
238
+ }
239
+ }
240
+ lastDropTarget = dropTarget;
241
+ }
242
+ if (dropTarget) {
243
+ // 拖拽区域在表格中,更新拖拽插入指示线位置
244
+ if (dropTarget.isTable) {
245
+ positionDragLine({
246
+ lineElement: dragLine,
247
+ dragZone: dropTarget,
248
+ event: mouseMoveEvent
249
+ });
250
+ updateScrollPosition(dropTarget.getContainer(), mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
251
+ }
252
+ // 树形表格悬停1s展开对应行节点
253
+ if ((_a = dropTarget === null || dropTarget === void 0 ? void 0 : dropTarget.tableParams) === null || _a === void 0 ? void 0 : _a.getTreeModeOptions()) {
254
+ if (expandRowTimeoutId) {
255
+ clearTimeout(expandRowTimeoutId);
256
+ }
257
+ expandRowTimeoutId = setTimeout(function () {
258
+ var treeModeOptions = dropTarget.tableParams.getTreeModeOptions();
259
+ var treeMetaKey = treeModeOptions.treeMetaKey,
260
+ onExpand = treeModeOptions.onExpand,
261
+ isExpanded = treeModeOptions.isExpanded,
262
+ onCollapse = treeModeOptions.onCollapse;
263
+ // 鼠标悬停所在的拖拽行信息
264
+ var dataSource = dropTarget.tableParams.getDataSource();
265
+ var dragItem = getDragRowItem(mouseMoveEvent.target, dropTarget.getContainer(), dataSource);
266
+ if (!dragItem) return;
267
+ var row = dragItem.row;
268
+ var rowKey = row[treeMetaKey].rowKey;
269
+ if (!isExpanded(rowKey)) {
270
+ onExpand(rowKey);
271
+ expandRowCallBackList.push(function () {
272
+ return onCollapse(rowKey);
273
+ });
274
+ }
275
+ }, 1000);
276
+ }
277
+ if (dropTarget.onDragging) {
278
+ var _dragEvent2 = createDropTargetEvent(dropTarget, mouseMoveEvent, startDataItem, currentDropZone);
279
+ dropTarget.onDragging(_dragEvent2);
280
+ }
281
+ }
282
+ };
283
+ var handleDragStop = function handleDragStop(mouseUpEvent) {
284
+ removeElement(dragElement);
285
+ removeElement(dragLine);
286
+ artTable.classList.remove((0, _classnames.default)(_styles.Classes.rowDragging));
287
+ rowDragApi.setDragStatus('finished');
288
+ clearTimeout(timeoutId);
289
+ clearInterval(intervalId);
290
+ clearTimeout(expandRowTimeoutId);
291
+ while (expandRowCallBackList.length > 0) {
292
+ var callback = expandRowCallBackList.pop();
293
+ callback();
294
+ }
295
+ var rowDropZones = rowDragApi.getRowDropZone();
296
+ var validDropZones = (0, _concat.default)(rowDropZones).call(rowDropZones, currentDropZone);
297
+ var dropTarget = (0, _find.default)(validDropZones).call(validDropZones, function (zone) {
298
+ return isMouseOnDropTarget(mouseUpEvent, zone.getContainer());
141
299
  });
142
- var isOutOfRange = isOutOfDragRange(mousePosition, dragRange);
143
- updateCurSorStyle(isOutOfRange);
300
+ if (dropTarget && dropTarget.onDragStop) {
301
+ var dragEvent = createDropTargetEvent(dropTarget, mouseUpEvent, startDataItem, currentDropZone);
302
+ dropTarget.onDragStop(dragEvent);
303
+ }
144
304
  };
145
- document.addEventListener('scroll', scrollCallback, true);
146
- var rowDrag$ = mousemove$.pipe((0, _filterInstanceProperty(_operators))(function (mouseMoveEvent) {
305
+ var mousemove$ = (0, _rxjs.fromEvent)(window, 'mousemove');
306
+ var mouseup$ = (0, _rxjs.fromEvent)(window, 'mouseup');
307
+ var rowDragMove$ = mousemove$.pipe((0, _filterInstanceProperty(_operators))(function (mouseMoveEvent) {
147
308
  var mouseMoveClientY = mouseMoveEvent.clientY;
309
+ var mouseDownClientY = mouseDownEvent.clientY;
148
310
  // 上下移动偏移量大于5才是有效的拖拽
149
311
  if (Math.abs(mouseMoveClientY - mouseDownClientY) > 5) {
150
312
  isValidDrag = true;
151
313
  }
152
314
  return isValidDrag;
153
315
  }), (0, _mapInstanceProperty(_operators))(function (mouseMoveEvent) {
154
- var clientX = mouseMoveEvent.clientX,
155
- clientY = mouseMoveEvent.clientY;
156
- var tagretRow = getTargetRowInfo(mouseMoveEvent.target, tableBody, dataSource);
157
- if (tagretRow) {
158
- endRowInfo = tagretRow;
316
+ if (!isDragging) {
317
+ isDragging = true;
318
+ handleDragStart(mouseDownEvent);
319
+ handleDragMove(mouseDownEvent);
159
320
  }
160
- var targetRowRects = endRowInfo.cell.getBoundingClientRect();
161
- // 判断拖拽插入的位置,拖拽框上边框位于目标行之上则向上插入,否则向下插入
162
- var isMoveToTop = clientY - startOffset < targetRowRects.top;
163
- dragPosition = isMoveToTop ? 'top' : 'bottom';
164
- isOutOfRange = isOutOfDragRange({
165
- x: clientX,
166
- y: clientY
167
- }, dragRange);
168
- mousePosition = {
169
- x: clientX,
170
- y: clientY
171
- };
172
- updateScrollPosition(mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
173
- updateDragElementPosition(dragElement, dragRange, {
174
- x: clientX,
175
- y: clientY,
176
- startOffset: startOffset
177
- });
178
- updateCurSorStyle(isOutOfRange);
179
- return {
180
- startRowInfo: startRowInfo,
181
- endRowInfo: endRowInfo,
182
- dragPosition: dragPosition
183
- };
321
+ handleDragMove(mouseMoveEvent);
184
322
  }), (0, _operators.takeUntil)(mouseup$));
185
- rowDrag$.subscribe({
186
- next: function next(_ref2) {
187
- var startRowInfo = _ref2.startRowInfo,
188
- endRowInfo = _ref2.endRowInfo,
189
- dragPosition = _ref2.dragPosition;
190
- var dragMoveEvent = getDragEvent(startRowInfo, endRowInfo, {
191
- isFinished: false,
192
- dragPosition: dragPosition
193
- });
194
- handleDragMove(dragMoveEvent);
195
- },
196
- complete: function complete() {
197
- var dragEndEvent = getDragEvent(startRowInfo, endRowInfo, {
198
- isFinished: true,
199
- dragPosition: dragPosition
200
- });
201
- var isValid = isValidDrag && !isOutOfRange;
202
- handleDragEnd(dragEndEvent, isValid);
203
- removeDragElement(dragElement);
204
- removeCurSorStyle();
205
- document.removeEventListener('scroll', scrollCallback, true);
323
+ rowDragMove$.subscribe();
324
+ var rowDragEnd$ = mouseup$.pipe((0, _mapInstanceProperty(_operators))(function (mouseUpEvent) {
325
+ handleDragStop(mouseUpEvent);
326
+ })).subscribe({
327
+ next: function next() {
328
+ rowDragEnd$.unsubscribe();
206
329
  }
207
330
  });
208
331
  };
209
332
  var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
210
333
  pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code);
334
+ rowDragApi.setRowDropZoneParams(currentDropZone);
211
335
  var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
212
336
  nextColumns.unshift(rowDragColumn);
213
337
  pipeline.columns(nextColumns);
@@ -216,13 +340,27 @@ function rowDrag(opt) {
216
340
  });
217
341
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
218
342
  var rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {};
343
+ var dragStatus = rowDragApi.getDragStatus();
219
344
  var startRowIndex = rowDragEvent.startRowIndex,
220
345
  endRowIndex = rowDragEvent.endRowIndex,
346
+ endRow = rowDragEvent.endRow,
221
347
  isFinished = rowDragEvent.isFinished,
222
348
  dragPosition = rowDragEvent.dragPosition;
223
349
  var isFooterCell = row[pipeline.getFeatureOptions('footerRowMetaKey')];
224
- if (isFooterCell || isFinished || rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
225
- var className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.rowDragStart, rowIndex === startRowIndex), _styles.Classes.rowDragEnd, rowIndex === endRowIndex), _styles.Classes.rowDragEndToTop, rowIndex === endRowIndex && dragPosition === 'top'), _styles.Classes.rowDragEndToBottom, rowIndex === endRowIndex && dragPosition === 'bottom'));
350
+ var treeModeOptions = pipeline.getFeatureOptions('treeModeOptions');
351
+ var isTreeTable = !!treeModeOptions;
352
+ if (isFooterCell || isFinished || !isTreeTable && rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
353
+ var parentRowKeyIndex = -1;
354
+ if (isTreeTable && endRow) {
355
+ var _context2;
356
+ var treeMetaKey = treeModeOptions.treeMetaKey;
357
+ var parentRowKey = endRow[treeMetaKey].parentRowKey;
358
+ var primaryKey = pipeline.ensurePrimaryKey('rowDrag');
359
+ parentRowKeyIndex = (0, _findIndex.default)(_context2 = pipeline.getDataSource()).call(_context2, function (row) {
360
+ return _internals.internals.safeGetRowKey(primaryKey, row, -1) === parentRowKey;
361
+ });
362
+ }
363
+ var className = (0, _classnames.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _styles.Classes.rowDragStart, rowIndex === startRowIndex && dragStatus !== 'finished'), _styles.Classes.rowDragEnd, rowIndex === endRowIndex), _styles.Classes.rowDragEndParent, isTreeTable && rowIndex === parentRowKeyIndex && dragPosition !== 'into'), _styles.Classes.rowDragEndInto, rowIndex === endRowIndex && dragPosition === 'into'), _styles.Classes.rowDragEndToTop, rowIndex === endRowIndex && dragPosition === 'top'), _styles.Classes.rowDragEndToBottom, rowIndex === endRowIndex && dragPosition === 'bottom'));
226
364
  return {
227
365
  className: className
228
366
  };
@@ -230,7 +368,7 @@ function rowDrag(opt) {
230
368
  return pipeline;
231
369
  };
232
370
  }
233
- function getTargetRowInfo(target, tableBody, record) {
371
+ function getDragRowItem(target, tableBody, record) {
234
372
  while (target && tableBody.contains(target)) {
235
373
  if (target.getAttribute('data-role') === 'table-cell') {
236
374
  var code = target.getAttribute('data-code');
@@ -249,6 +387,15 @@ function getTargetRowInfo(target, tableBody, record) {
249
387
  }
250
388
  return null;
251
389
  }
390
+ function findTargetRow(target, tableBody) {
391
+ while (target && tableBody.contains(target)) {
392
+ if (target.getAttribute('data-role') === 'table-row') {
393
+ return target;
394
+ }
395
+ target = target.parentElement;
396
+ }
397
+ return null;
398
+ }
252
399
  function isEleInFooter(target) {
253
400
  while (target && !target.classList.contains(_styles.Classes.artTable)) {
254
401
  if (target.classList.contains(_styles.Classes.tableFooter)) {
@@ -258,75 +405,260 @@ function isEleInFooter(target) {
258
405
  }
259
406
  return false;
260
407
  }
261
- function createDragElement(rects, tableWidth, rowHeight) {
262
- var _context2, _context3, _context4;
263
- var x = rects.x,
264
- y = rects.y;
265
- var dragMoveElement = document.createElement('div');
266
- dragMoveElement.className = (0, _classnames.default)(_styles.Classes.rowDragElement);
267
- dragMoveElement.style.cssText = (0, _concat.default)(_context2 = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = "position:fixed;z-index:9999;left:".concat(x, "px;top:")).call(_context4, y, "px;pointer-events:none;width:")).call(_context3, tableWidth, "px;height:")).call(_context2, rowHeight, "px;background:var(--primary-color);opacity: 0.1;");
268
- document.body.appendChild(dragMoveElement);
269
- return dragMoveElement;
270
- }
271
- function updateDragElementPosition(element, dragRange, _ref3) {
272
- var x = _ref3.x,
273
- y = _ref3.y,
274
- startOffset = _ref3.startOffset;
275
- var validPosition = getValidPosition({
276
- x: x,
277
- y: y
278
- }, dragRange);
279
- element.style.top = validPosition.y - startOffset + 'px';
280
- return element;
408
+ function createDragElement(mouseDownEvent, tableBody) {
409
+ var _context3, _context4;
410
+ var ELEMENT_TEMPLATE = (0, _concat.default)(_context3 = (0, _concat.default)(_context4 = "<div class='".concat(_styles.Classes.rowDragElement, "'>\n <span class='")).call(_context4, _styles.Classes.rowDragElementIcon, "'></span>\n <div class='")).call(_context3, _styles.Classes.rowDragElementLabel, "'></div>\n </div>");
411
+ var element = document.createElement('div');
412
+ element.innerHTML = ELEMENT_TEMPLATE;
413
+ var dragElement = element.firstChild;
414
+ var targetRow = findTargetRow(mouseDownEvent.target, tableBody);
415
+ if (targetRow) {
416
+ var rect = targetRow.getBoundingClientRect();
417
+ dragElement.style.height = rect.height + 'px';
418
+ }
419
+ var bodyRect = tableBody.getBoundingClientRect();
420
+ dragElement.style.maxWidth = bodyRect.width + 'px';
421
+ document.body.appendChild(dragElement);
422
+ return dragElement;
281
423
  }
282
- function removeDragElement(element) {
283
- document.body.removeChild(element);
424
+ function createDragLine(isTreeTable) {
425
+ var dragLine = document.createElement('div');
426
+ dragLine.classList.add(_styles.Classes.rowDragLine);
427
+ if (isTreeTable) {
428
+ dragLine.classList.add(_styles.Classes.treeTableRowDragLine);
429
+ }
430
+ document.body.appendChild(dragLine);
431
+ return dragLine;
284
432
  }
285
- function updateCurSorStyle(isOutOfRange) {
286
- if (isOutOfRange) {
287
- document.body.style.cursor = 'no-drop';
288
- } else {
289
- document.body.style.cursor = 'move';
433
+ function positionDragLine(_ref) {
434
+ var lineElement = _ref.lineElement,
435
+ dragZone = _ref.dragZone,
436
+ event = _ref.event;
437
+ var tableContainer = dragZone.getContainer();
438
+ var _dragZone$tableParams = dragZone.tableParams,
439
+ getDataSource = _dragZone$tableParams.getDataSource,
440
+ getTreeModeOptions = _dragZone$tableParams.getTreeModeOptions,
441
+ getRowDragOptions = _dragZone$tableParams.getRowDragOptions;
442
+ var dataSource = getDataSource();
443
+ var treeModeOptions = getTreeModeOptions();
444
+ var rowDragOptions = getRowDragOptions() || {};
445
+ var allowDragIntoRow = rowDragOptions.allowDragIntoRow;
446
+ // 鼠标悬停所在的拖拽行信息
447
+ var dragItem = getDragRowItem(event.target, tableContainer, dataSource);
448
+ if (!dragItem) return;
449
+ var cell = dragItem.cell,
450
+ rowIndex = dragItem.rowIndex,
451
+ row = dragItem.row;
452
+ var bodyRect = tableContainer.getBoundingClientRect();
453
+ var offsetParentSize = getElementRectWithOffset(document.body);
454
+ var isTreeTable = !!treeModeOptions;
455
+ var allowDragInto = isTreeTable && allowDragIntoRow;
456
+ var direction = getDirection(cell, event.clientY, allowDragInto);
457
+ if (isTreeTable) {
458
+ var _context5;
459
+ var iconWidth = treeModeOptions.iconWidth,
460
+ iconIndent = treeModeOptions.iconIndent,
461
+ iconGap = treeModeOptions.iconGap,
462
+ indentSize = treeModeOptions.indentSize,
463
+ treeMetaKey = treeModeOptions.treeMetaKey;
464
+ var expandCell = tableContainer.querySelector((0, _concat.default)(_context5 = "tr[data-rowindex=\"".concat(rowIndex, "\"] .")).call(_context5, _styles.Classes.tableExtendCell));
465
+ if (expandCell) {
466
+ var _getElementSize2 = _getElementSize(expandCell),
467
+ paddingLeft = _getElementSize2.paddingLeft;
468
+ var expandCellRect = expandCell.getBoundingClientRect();
469
+ var _row$treeMetaKey = row[treeMetaKey],
470
+ rowKey = _row$treeMetaKey.rowKey,
471
+ depth = _row$treeMetaKey.depth,
472
+ isLeaf = _row$treeMetaKey.isLeaf,
473
+ expanded = _row$treeMetaKey.expanded;
474
+ var addWidth = isLeaf ? iconWidth + iconGap : 0;
475
+ var indent = iconIndent + depth * indentSize + addWidth;
476
+ var x = expandCellRect.x,
477
+ _y = expandCellRect.y,
478
+ _height = expandCellRect.height;
479
+ var _top = direction === 'bottom' ? _y + _height - offsetParentSize.top : _y - offsetParentSize.top;
480
+ var offsetX = Math.max(x + paddingLeft + indent - bodyRect.x, 0);
481
+ var _left = bodyRect.x + offsetX - offsetParentSize.left;
482
+ lineElement.style.left = "".concat(_left, "px");
483
+ lineElement.style.top = "".concat(_top, "px");
484
+ lineElement.style.width = "".concat(bodyRect.width - offsetX, "px");
485
+ if (direction === 'into') {
486
+ lineElement.style.display = 'none';
487
+ } else {
488
+ lineElement.style.display = 'block';
489
+ }
490
+ return;
491
+ }
290
492
  }
493
+ // 根据鼠标悬停位置所在单元格和显示位置计算拖拽线的位置
494
+ var rect = cell.getBoundingClientRect();
495
+ var y = rect.y,
496
+ height = rect.height;
497
+ var top = direction === 'bottom' ? y + height - offsetParentSize.top : y - offsetParentSize.top;
498
+ var left = bodyRect.x - offsetParentSize.left;
499
+ lineElement.style.left = "".concat(left, "px");
500
+ lineElement.style.top = "".concat(top, "px");
501
+ lineElement.style.width = "".concat(bodyRect.width, "px");
291
502
  }
292
- function removeCurSorStyle() {
293
- document.body.style.cursor = 'default';
503
+ function showDragLine(lineElement) {
504
+ lineElement.style.display = 'block';
294
505
  }
295
- function getDragRange(tableBody, _ref4) {
296
- var startOffset = _ref4.startOffset,
297
- rowHeight = _ref4.rowHeight;
298
- var tableBodyClientRect = tableBody.getBoundingClientRect();
299
- var height = tableBodyClientRect.height,
300
- width = tableBodyClientRect.width,
301
- top = tableBodyClientRect.top,
302
- left = tableBodyClientRect.left;
506
+ function hiddenDragLine(lineElement) {
507
+ lineElement.style.display = 'none';
508
+ }
509
+ function positionDragElemment(element, event) {
510
+ var _a, _b, _c, _d, _e, _f;
511
+ if (!element) return;
512
+ var elementRect = element.getBoundingClientRect();
513
+ var eleHeight = elementRect.height;
514
+ var browserWidth = (_b = (_a = document.body) === null || _a === void 0 ? void 0 : _a.clientWidth) !== null && _b !== void 0 ? _b : window.innerHeight || ((_c = document.documentElement) === null || _c === void 0 ? void 0 : _c.clientWidth) || 0;
515
+ var browserHeight = (_e = (_d = document.body) === null || _d === void 0 ? void 0 : _d.clientHeight) !== null && _e !== void 0 ? _e : window.innerHeight || ((_f = document.documentElement) === null || _f === void 0 ? void 0 : _f.clientHeight) || 0;
516
+ var offsetParentSize = getElementRectWithOffset(element.offsetParent);
517
+ var clientX = event.clientX,
518
+ clientY = event.clientY;
519
+ var top = clientY - offsetParentSize.top - eleHeight / 2;
520
+ var left = clientX - offsetParentSize.left;
521
+ var windowScrollX = window.pageXOffset;
522
+ var windowScrollY = window.pageYOffset;
523
+ if (browserWidth > 0 && left + element.clientWidth > browserWidth + windowScrollX) {
524
+ left = Math.max(browserWidth + windowScrollX - element.clientWidth, 0);
525
+ }
526
+ if (browserHeight > 0 && top + element.clientHeight > browserHeight + windowScrollY) {
527
+ top = Math.max(browserHeight + windowScrollY - element.clientHeight, 0);
528
+ }
529
+ element.style.left = "".concat(left, "px");
530
+ element.style.top = "".concat(top, "px");
531
+ }
532
+ function getElementRectWithOffset(el) {
533
+ var offsetElementRect = el.getBoundingClientRect();
534
+ var _getElementSize3 = _getElementSize(el),
535
+ borderTopWidth = _getElementSize3.borderTopWidth,
536
+ borderLeftWidth = _getElementSize3.borderLeftWidth,
537
+ borderRightWidth = _getElementSize3.borderRightWidth,
538
+ borderBottomWidth = _getElementSize3.borderBottomWidth;
303
539
  return {
304
- minX: left,
305
- maxX: left + width,
306
- minY: top - rowHeight + startOffset,
307
- maxY: top + height + startOffset
540
+ top: offsetElementRect.top + (borderTopWidth || 0),
541
+ left: offsetElementRect.left + (borderLeftWidth || 0),
542
+ right: offsetElementRect.right + (borderRightWidth || 0),
543
+ bottom: offsetElementRect.bottom + (borderBottomWidth || 0)
308
544
  };
309
545
  }
310
- function getValidPosition(position, dragRange) {
311
- var x = position.x,
312
- y = position.y;
313
- var minX = dragRange.minX,
314
- maxX = dragRange.maxX,
315
- minY = dragRange.minY,
316
- maxY = dragRange.maxY;
317
- var newX = x < minX ? minX : x > maxX ? maxX : x;
318
- var newY = y < minY ? minY : y > maxY ? maxY : y;
546
+ function _getElementSize(el) {
547
+ var _window$getComputedSt = window.getComputedStyle(el),
548
+ height = _window$getComputedSt.height,
549
+ width = _window$getComputedSt.width,
550
+ borderTopWidth = _window$getComputedSt.borderTopWidth,
551
+ borderRightWidth = _window$getComputedSt.borderRightWidth,
552
+ borderBottomWidth = _window$getComputedSt.borderBottomWidth,
553
+ borderLeftWidth = _window$getComputedSt.borderLeftWidth,
554
+ paddingTop = _window$getComputedSt.paddingTop,
555
+ paddingRight = _window$getComputedSt.paddingRight,
556
+ paddingBottom = _window$getComputedSt.paddingBottom,
557
+ paddingLeft = _window$getComputedSt.paddingLeft,
558
+ marginTop = _window$getComputedSt.marginTop,
559
+ marginRight = _window$getComputedSt.marginRight,
560
+ marginBottom = _window$getComputedSt.marginBottom,
561
+ marginLeft = _window$getComputedSt.marginLeft,
562
+ boxSizing = _window$getComputedSt.boxSizing;
319
563
  return {
320
- x: newX,
321
- y: newY
564
+ height: parseFloat(height || '0'),
565
+ width: parseFloat(width || '0'),
566
+ borderTopWidth: parseFloat(borderTopWidth || '0'),
567
+ borderRightWidth: parseFloat(borderRightWidth || '0'),
568
+ borderBottomWidth: parseFloat(borderBottomWidth || '0'),
569
+ borderLeftWidth: parseFloat(borderLeftWidth || '0'),
570
+ paddingTop: parseFloat(paddingTop || '0'),
571
+ paddingRight: parseFloat(paddingRight || '0'),
572
+ paddingBottom: parseFloat(paddingBottom || '0'),
573
+ paddingLeft: parseFloat(paddingLeft || '0'),
574
+ marginTop: parseFloat(marginTop || '0'),
575
+ marginRight: parseFloat(marginRight || '0'),
576
+ marginBottom: parseFloat(marginBottom || '0'),
577
+ marginLeft: parseFloat(marginLeft || '0'),
578
+ boxSizing: boxSizing
322
579
  };
323
580
  }
324
- function isOutOfDragRange(position, dragRange) {
325
- var x = position.x,
326
- y = position.y;
327
- var minX = dragRange.minX,
328
- maxX = dragRange.maxX,
329
- minY = dragRange.minY,
330
- maxY = dragRange.maxY;
331
- return x > maxX || x < minX || y > maxY || y < minY;
581
+ function removeElement(element) {
582
+ document.body.removeChild(element);
583
+ }
584
+ function setDragElementIcon(element, iconName) {
585
+ var elementIcon = element.querySelector(".".concat(_styles.Classes.rowDragElementIcon));
586
+ clearElementChildren(elementIcon);
587
+ iconName = iconName || 'notAllowed';
588
+ var iconElement = document.createElement('span');
589
+ if (iconName === 'move') {
590
+ iconElement.classList.add(_styles.Classes.iconMove);
591
+ } else if (iconName === 'notAllowed') {
592
+ iconElement.classList.add(_styles.Classes.iconNotAllowed);
593
+ }
594
+ elementIcon.appendChild(iconElement);
595
+ }
596
+ function clearElementChildren(element) {
597
+ while (element && element.firstChild) {
598
+ element.removeChild(element.firstChild);
599
+ }
600
+ }
601
+ function getScrollMoveOffset(tableBody, mouseMoveEvent) {
602
+ var clientY = mouseMoveEvent.clientY;
603
+ var tableBodyClientRect = tableBody.getBoundingClientRect();
604
+ var top = tableBodyClientRect.top,
605
+ height = tableBodyClientRect.height;
606
+ if (clientY >= top + height - SCROLL_START_OFFSET && clientY <= top + height) {
607
+ return SCROLL_OFFSET;
608
+ }
609
+ if (clientY >= top && clientY <= top + SCROLL_START_OFFSET) {
610
+ return -SCROLL_OFFSET;
611
+ }
612
+ return 0;
613
+ }
614
+ function setDragText(element, dragText) {
615
+ var dragTextString = dragText.toString();
616
+ var elementIcon = element.querySelector(".".concat(_styles.Classes.rowDragElementLabel));
617
+ var stringNode = document.createTextNode(dragTextString);
618
+ elementIcon.appendChild(stringNode);
619
+ }
620
+ function isMouseOnDropTarget(mouseEvent, target) {
621
+ return target.contains(mouseEvent.target);
622
+ }
623
+ function createDropTargetEvent(dropZone, event, dragItem, startDropZone) {
624
+ var dropZoneTarget = dropZone.getContainer();
625
+ var startDropZoneTagret = startDropZone.getContainer();
626
+ var rect = dropZoneTarget.getBoundingClientRect();
627
+ var x = event.clientX - rect.left;
628
+ var y = event.clientY - rect.top;
629
+ var startDropZoneOptions = startDropZone.tableParams.getRowDragOptions();
630
+ var startCommonParams = startDropZoneOptions === null || startDropZoneOptions === void 0 ? void 0 : startDropZoneOptions.commonParams;
631
+ var targetEvent = {
632
+ dragItem: dragItem,
633
+ startDropZoneTagret: startDropZoneTagret,
634
+ startCommonParams: startCommonParams,
635
+ dropZoneTarget: dropZoneTarget,
636
+ event: event,
637
+ x: x,
638
+ y: y
639
+ };
640
+ if (dropZone.isTable) {
641
+ var dropZoneOptions = dropZone.tableParams.getRowDragOptions();
642
+ var commonParams = dropZoneOptions === null || dropZoneOptions === void 0 ? void 0 : dropZoneOptions.commonParams;
643
+ targetEvent.dropZoneTableParams = dropZone.tableParams;
644
+ targetEvent.commonParams = commonParams;
645
+ }
646
+ return targetEvent;
647
+ }
648
+ function getDirection(cell, clientY) {
649
+ var isTreeTable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
650
+ var _cell$getBoundingClie = cell.getBoundingClientRect(),
651
+ height = _cell$getBoundingClie.height,
652
+ y = _cell$getBoundingClie.y;
653
+ var direction = 'bottom';
654
+ if (isTreeTable) {
655
+ if (y + height / 4 > clientY) {
656
+ direction = 'top';
657
+ } else if (y + height * 3 / 4 > clientY) {
658
+ direction = 'into';
659
+ }
660
+ } else if (y + height / 2 > clientY) {
661
+ direction = 'top';
662
+ }
663
+ return direction;
332
664
  }