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

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 +1264 -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 +18 -8
  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 +38 -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 +10 -12
  167. package/es/table/pipeline/features/rowDrag.js +485 -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 +25 -9
  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 +38 -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 +10 -12
  455. package/lib/table/pipeline/features/rowDrag.js +486 -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 +26 -9
  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,250 @@ 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 source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'targetTable';
66
+ var dragItem = dropTargetEvent.dragItem,
67
+ x = dropTargetEvent.x,
68
+ y = dropTargetEvent.y,
69
+ dropZoneTarget = dropTargetEvent.dropZoneTarget,
70
+ startDropZoneTagret = dropTargetEvent.startDropZoneTagret,
71
+ event = dropTargetEvent.event,
72
+ dropZoneTableParams = dropTargetEvent.dropZoneTableParams;
73
+ var getDataSource = dropZoneTableParams.getDataSource,
74
+ getTreeModeOptions = dropZoneTableParams.getTreeModeOptions,
75
+ getRowDragOptions = dropZoneTableParams.getRowDragOptions;
76
+ var dataSource = getDataSource();
77
+ var treeModeOptions = getTreeModeOptions();
78
+ var rowDragOptions = getRowDragOptions();
79
+ var allowDragIntoRow = !!treeModeOptions && (rowDragOptions === null || rowDragOptions === void 0 ? void 0 : rowDragOptions.allowDragIntoRow);
80
+ var isLeave = !isMouseOnDropTarget(event, dropZoneTarget);
81
+ var overIndex = -1;
82
+ var direction = 'bottom';
83
+ if (!isLeave) {
84
+ var overDragItem = getDragRowItem(event.target, dropZoneTarget, dataSource);
85
+ if (overDragItem) {
86
+ var rowIndex = overDragItem.rowIndex,
87
+ cell = overDragItem.cell;
88
+ overIndex = rowIndex;
89
+ direction = getDirection(cell, event.clientY, allowDragIntoRow);
90
+ }
91
+ }
92
+ var overRow = overIndex >= 0 ? dataSource[overIndex] : null;
93
+ return {
94
+ startRowIndex: dragItem.rowIndex,
95
+ startRow: dragItem.row,
96
+ endRowIndex: overIndex,
97
+ endRow: overRow,
98
+ startDropZoneTagret: startDropZoneTagret,
99
+ dropZoneTarget: dropZoneTarget,
100
+ event: event,
101
+ dragPosition: direction,
102
+ isFinished: isFinished,
103
+ source: source,
104
+ x: x,
105
+ y: y
106
+ };
107
+ };
108
+ var onDragging = function onDragging(event) {
58
109
  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);
110
+ var rowDragEvent = getRowDragEvent(event, false, 'targetTable');
111
+ (_a = opt === null || opt === void 0 ? void 0 : opt.onDragMove) === null || _a === void 0 ? void 0 : _a.call(opt, rowDragEvent);
112
+ pipeline.setStateAtKey(rowDragKey, rowDragEvent);
62
113
  };
63
- var handleDragMove = function handleDragMove(event) {
114
+ var onDragStop = function onDragStop(event, source) {
64
115
  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);
116
+ var rowDragEvent = getRowDragEvent(event, true, source);
117
+ pipeline.setStateAtKey(rowDragKey, rowDragEvent);
118
+ (_a = opt === null || opt === void 0 ? void 0 : opt.onDragEnd) === null || _a === void 0 ? void 0 : _a.call(opt, rowDragEvent);
67
119
  };
68
- var handleDragEnd = function handleDragEnd(event, isValid) {
120
+ var onDragStart = function onDragStart(event) {
69
121
  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
- }
122
+ var rowDragEvent = getRowDragEvent(event, false);
123
+ (_a = opt === null || opt === void 0 ? void 0 : opt.onDragStart) === null || _a === void 0 ? void 0 : _a.call(opt, rowDragEvent);
76
124
  };
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
- };
125
+ var onDragLeave = function onDragLeave(event) {
126
+ var _a;
127
+ var rowDragEvent = getRowDragEvent(event, false);
128
+ pipeline.setStateAtKey(rowDragKey, rowDragEvent);
129
+ (_a = opt === null || opt === void 0 ? void 0 : opt.onDragLeave) === null || _a === void 0 ? void 0 : _a.call(opt, rowDragEvent);
89
130
  };
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;
131
+ var onDragEnter = function onDragEnter(event) {
132
+ var _a;
133
+ var rowDragEvent = getRowDragEvent(event, false);
134
+ pipeline.setStateAtKey(rowDragKey, rowDragEvent);
135
+ (_a = opt === null || opt === void 0 ? void 0 : opt.onDragEnter) === null || _a === void 0 ? void 0 : _a.call(opt, rowDragEvent);
136
+ };
137
+ var currentDropZone = {
138
+ getContainer: function getContainer() {
139
+ var lastPipeline = pipeline.getLastPipeline();
140
+ return lastPipeline.ref.current.domHelper.tableBody;
141
+ },
142
+ onDragEnter: onDragEnter,
143
+ onDragLeave: onDragLeave,
144
+ onDragging: onDragging,
145
+ onDragStop: onDragStop,
146
+ isTable: true,
147
+ tableParams: {
148
+ getDataSource: function getDataSource() {
149
+ var lastPipeline = pipeline.getLastPipeline();
150
+ return lastPipeline.getDataSource();
151
+ },
152
+ getTreeModeOptions: function getTreeModeOptions() {
153
+ var lastPipeline = pipeline.getLastPipeline();
154
+ return lastPipeline.getFeatureOptions('treeModeOptions');
155
+ },
156
+ getRowDragOptions: function getRowDragOptions() {
157
+ var lastPipeline = pipeline.getLastPipeline();
158
+ return lastPipeline.getFeatureOptions('rowDragOptions');
159
+ }
101
160
  }
102
161
  };
103
- var onMouseDown = function onMouseDown(mouseDownEvent) {
162
+ var onMouseDown = function onMouseDown(event) {
104
163
  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;
164
+ var mouseDownEvent = event.nativeEvent;
165
+ var startDataItem = getDragRowItem(mouseDownEvent.target, tableBody, dataSource);
166
+ if (!startDataItem || startDataItem.code !== rowDragColumn.code) return;
167
+ 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
168
  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
169
+ var isDragging = false;
170
+ var dragElement = null;
171
+ var dragLine = null;
172
+ var lastDropTarget = null;
173
+ var timeoutId = null;
174
+ var intervalId = null;
175
+ var updateScrollPosition = function updateScrollPosition(tableBody, mouseMoveEvent) {
176
+ if (opt === null || opt === void 0 ? void 0 : opt.suppressScrollMove) return;
177
+ if (timeoutId) {
178
+ clearTimeout(timeoutId);
179
+ }
180
+ if (intervalId) {
181
+ clearInterval(intervalId);
182
+ }
183
+ var moveOffset = getScrollMoveOffset(tableBody, mouseMoveEvent);
184
+ if (moveOffset === 0) {
185
+ return;
186
+ }
187
+ timeoutId = setTimeout(function () {
188
+ intervalId = setInterval(function () {
189
+ tableBody.scrollTop += moveOffset;
190
+ }, 100);
191
+ }, 500);
132
192
  };
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
193
+ var handleDragStart = function handleDragStart(mouseDownEvent) {
194
+ var _a;
195
+ dragElement = createDragElement(mouseDownEvent, tableBody); // 创建拖拽悬浮框
196
+ var isTreeTable = !!pipeline.getFeatureOptions('treeModeOptions');
197
+ dragLine = createDragLine(isTreeTable); // 创建拖拽插入指示线
198
+ 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");
199
+ setDragText(dragElement, dragText); // 设置悬浮框显示文本
200
+ artTable.classList.add((0, _classnames.default)(_styles.Classes.rowDragging));
201
+ rowDragApi.setDragStatus('start');
202
+ var dragEvent = createDropTargetEvent(currentDropZone, mouseDownEvent, startDataItem, tableBody);
203
+ onDragStart(dragEvent);
204
+ };
205
+ var handleDragMove = function handleDragMove(mouseMoveEvent) {
206
+ positionDragElemment(dragElement, mouseMoveEvent); // 更新拖拽悬浮框位置
207
+ rowDragApi.setDragStatus('dragging');
208
+ setDragElementIcon(dragElement, 'move');
209
+ var rowDropZones = rowDragApi.getRowDropZone();
210
+ var validDropZones = (0, _concat.default)(rowDropZones).call(rowDropZones, currentDropZone); // 可放置区域加上自身
211
+ var dropTarget = (0, _find.default)(validDropZones).call(validDropZones, function (zone) {
212
+ return isMouseOnDropTarget(mouseMoveEvent, zone.getContainer());
213
+ }) || null;
214
+ if (dropTarget !== lastDropTarget) {
215
+ // 拖拽离开表格
216
+ if (lastDropTarget !== null && dropTarget === null) {
217
+ if (lastDropTarget.onDragLeave) {
218
+ setDragElementIcon(dragElement, 'notAllowed');
219
+ hiddenDragLine(dragLine);
220
+ var dragEvent = createDropTargetEvent(lastDropTarget, mouseMoveEvent, startDataItem, tableBody);
221
+ lastDropTarget.onDragLeave(dragEvent);
222
+ }
223
+ }
224
+ // 拖拽进入表格
225
+ if (lastDropTarget === null && dropTarget !== null) {
226
+ if (dropTarget.onDragEnter) {
227
+ setDragElementIcon(dragElement, 'move');
228
+ if (dropTarget.isTable) {
229
+ showDragLine(dragLine);
230
+ }
231
+ var _dragEvent = createDropTargetEvent(dropTarget, mouseMoveEvent, startDataItem, tableBody);
232
+ dropTarget.onDragEnter(_dragEvent);
233
+ }
234
+ }
235
+ lastDropTarget = dropTarget;
236
+ }
237
+ if (dropTarget) {
238
+ // 拖拽区域在表格中,更新拖拽插入指示线位置
239
+ if (dropTarget.isTable) {
240
+ positionDragLine({
241
+ lineElement: dragLine,
242
+ dragZone: dropTarget,
243
+ event: mouseMoveEvent
244
+ });
245
+ updateScrollPosition(dropTarget.getContainer(), mouseMoveEvent); // 拖拽到底时让滚动条可以滚动
246
+ }
247
+ if (dropTarget.onDragging) {
248
+ var _dragEvent2 = createDropTargetEvent(dropTarget, mouseMoveEvent, startDataItem, tableBody);
249
+ dropTarget.onDragging(_dragEvent2);
250
+ }
251
+ }
252
+ };
253
+ var handleDragStop = function handleDragStop(mouseUpEvent) {
254
+ removeElement(dragElement);
255
+ removeElement(dragLine);
256
+ artTable.classList.remove((0, _classnames.default)(_styles.Classes.rowDragging));
257
+ rowDragApi.setDragStatus('finished');
258
+ clearTimeout(timeoutId);
259
+ clearInterval(intervalId);
260
+ var rowDropZones = rowDragApi.getRowDropZone();
261
+ var validDropZones = (0, _concat.default)(rowDropZones).call(rowDropZones, currentDropZone);
262
+ var dropTarget = (0, _find.default)(validDropZones).call(validDropZones, function (zone) {
263
+ return isMouseOnDropTarget(mouseUpEvent, zone.getContainer());
141
264
  });
142
- var isOutOfRange = isOutOfDragRange(mousePosition, dragRange);
143
- updateCurSorStyle(isOutOfRange);
265
+ if (dropTarget && dropTarget.onDragStop) {
266
+ var dragEvent = createDropTargetEvent(dropTarget, mouseUpEvent, startDataItem, tableBody);
267
+ dropTarget.onDragStop(dragEvent);
268
+ // 原表也触发onDragStop, 方便上层调用
269
+ if (dropTarget !== currentDropZone) {
270
+ currentDropZone.onDragStop(dragEvent, 'startTable');
271
+ }
272
+ }
144
273
  };
145
- document.addEventListener('scroll', scrollCallback, true);
146
- var rowDrag$ = mousemove$.pipe((0, _filterInstanceProperty(_operators))(function (mouseMoveEvent) {
274
+ var mousemove$ = (0, _rxjs.fromEvent)(window, 'mousemove');
275
+ var mouseup$ = (0, _rxjs.fromEvent)(window, 'mouseup');
276
+ var rowDragMove$ = mousemove$.pipe((0, _filterInstanceProperty(_operators))(function (mouseMoveEvent) {
147
277
  var mouseMoveClientY = mouseMoveEvent.clientY;
278
+ var mouseDownClientY = mouseDownEvent.clientY;
148
279
  // 上下移动偏移量大于5才是有效的拖拽
149
280
  if (Math.abs(mouseMoveClientY - mouseDownClientY) > 5) {
150
281
  isValidDrag = true;
151
282
  }
152
283
  return isValidDrag;
153
284
  }), (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;
285
+ if (!isDragging) {
286
+ isDragging = true;
287
+ handleDragStart(mouseDownEvent);
288
+ handleDragMove(mouseDownEvent);
159
289
  }
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
- };
290
+ handleDragMove(mouseMoveEvent);
184
291
  }), (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);
292
+ rowDragMove$.subscribe();
293
+ var rowDragEnd$ = mouseup$.pipe((0, _mapInstanceProperty(_operators))(function (mouseUpEvent) {
294
+ handleDragStop(mouseUpEvent);
295
+ })).subscribe({
296
+ next: function next() {
297
+ rowDragEnd$.unsubscribe();
206
298
  }
207
299
  });
208
300
  };
209
301
  var rowDragColumn = (opt === null || opt === void 0 ? void 0 : opt.rowDragColumn) || defaultRowDragColumn;
210
302
  pipeline.setFeatureOptions('rowDragColumnKey', rowDragColumn.code);
303
+ rowDragApi.setRowDropZoneParams(currentDropZone);
211
304
  var nextColumns = (0, _slice.default)(_context = pipeline.getColumns()).call(_context);
212
305
  nextColumns.unshift(rowDragColumn);
213
306
  pipeline.columns(nextColumns);
@@ -216,13 +309,27 @@ function rowDrag(opt) {
216
309
  });
217
310
  pipeline.appendRowPropsGetter(function (row, rowIndex) {
218
311
  var rowDragEvent = pipeline.getStateAtKey(rowDragKey) || {};
312
+ var dragStatus = rowDragApi.getDragStatus();
219
313
  var startRowIndex = rowDragEvent.startRowIndex,
220
314
  endRowIndex = rowDragEvent.endRowIndex,
315
+ endRow = rowDragEvent.endRow,
221
316
  isFinished = rowDragEvent.isFinished,
222
317
  dragPosition = rowDragEvent.dragPosition;
223
318
  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'));
319
+ var treeModeOptions = pipeline.getFeatureOptions('treeModeOptions');
320
+ var isTreeTable = !!treeModeOptions;
321
+ if (isFooterCell || isFinished || !isTreeTable && rowIndex !== startRowIndex && rowIndex !== endRowIndex) return;
322
+ var parentRowKeyIndex = -1;
323
+ if (isTreeTable && endRow) {
324
+ var _context2;
325
+ var treeMetaKey = treeModeOptions.treeMetaKey;
326
+ var parentRowKey = endRow[treeMetaKey].parentRowKey;
327
+ var primaryKey = pipeline.ensurePrimaryKey('rowDrag');
328
+ parentRowKeyIndex = (0, _findIndex.default)(_context2 = pipeline.getDataSource()).call(_context2, function (row) {
329
+ return _internals.internals.safeGetRowKey(primaryKey, row, -1) === parentRowKey;
330
+ });
331
+ }
332
+ 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), _styles.Classes.rowDragEndInto, rowIndex === endRowIndex && dragPosition === 'into'), _styles.Classes.rowDragEndToTop, rowIndex === endRowIndex && dragPosition === 'top'), _styles.Classes.rowDragEndToBottom, rowIndex === endRowIndex && dragPosition === 'bottom'));
226
333
  return {
227
334
  className: className
228
335
  };
@@ -230,7 +337,7 @@ function rowDrag(opt) {
230
337
  return pipeline;
231
338
  };
232
339
  }
233
- function getTargetRowInfo(target, tableBody, record) {
340
+ function getDragRowItem(target, tableBody, record) {
234
341
  while (target && tableBody.contains(target)) {
235
342
  if (target.getAttribute('data-role') === 'table-cell') {
236
343
  var code = target.getAttribute('data-code');
@@ -249,6 +356,15 @@ function getTargetRowInfo(target, tableBody, record) {
249
356
  }
250
357
  return null;
251
358
  }
359
+ function findTargetRow(target, tableBody) {
360
+ while (target && tableBody.contains(target)) {
361
+ if (target.getAttribute('data-role') === 'table-row') {
362
+ return target;
363
+ }
364
+ target = target.parentElement;
365
+ }
366
+ return null;
367
+ }
252
368
  function isEleInFooter(target) {
253
369
  while (target && !target.classList.contains(_styles.Classes.artTable)) {
254
370
  if (target.classList.contains(_styles.Classes.tableFooter)) {
@@ -258,75 +374,253 @@ function isEleInFooter(target) {
258
374
  }
259
375
  return false;
260
376
  }
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;
377
+ function createDragElement(mouseDownEvent, tableBody) {
378
+ var _context3, _context4;
379
+ 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>");
380
+ var element = document.createElement('div');
381
+ element.innerHTML = ELEMENT_TEMPLATE;
382
+ var dragElement = element.firstChild;
383
+ var targetRow = findTargetRow(mouseDownEvent.target, tableBody);
384
+ if (targetRow) {
385
+ var rect = targetRow.getBoundingClientRect();
386
+ dragElement.style.height = rect.height + 'px';
387
+ }
388
+ var bodyRect = tableBody.getBoundingClientRect();
389
+ dragElement.style.maxWidth = bodyRect.width + 'px';
390
+ document.body.appendChild(dragElement);
391
+ return dragElement;
281
392
  }
282
- function removeDragElement(element) {
283
- document.body.removeChild(element);
393
+ function createDragLine(isTreeTable) {
394
+ var dragLine = document.createElement('div');
395
+ dragLine.classList.add(_styles.Classes.rowDragLine);
396
+ if (isTreeTable) {
397
+ dragLine.classList.add(_styles.Classes.treeTableRowDragLine);
398
+ }
399
+ document.body.appendChild(dragLine);
400
+ return dragLine;
284
401
  }
285
- function updateCurSorStyle(isOutOfRange) {
286
- if (isOutOfRange) {
287
- document.body.style.cursor = 'no-drop';
288
- } else {
289
- document.body.style.cursor = 'move';
402
+ function positionDragLine(_ref) {
403
+ var lineElement = _ref.lineElement,
404
+ dragZone = _ref.dragZone,
405
+ event = _ref.event;
406
+ var tableContainer = dragZone.getContainer();
407
+ var _dragZone$tableParams = dragZone.tableParams,
408
+ getDataSource = _dragZone$tableParams.getDataSource,
409
+ getTreeModeOptions = _dragZone$tableParams.getTreeModeOptions,
410
+ getRowDragOptions = _dragZone$tableParams.getRowDragOptions;
411
+ var dataSource = getDataSource();
412
+ var treeModeOptions = getTreeModeOptions();
413
+ var rowDragOptions = getRowDragOptions() || {};
414
+ var allowDragIntoRow = rowDragOptions.allowDragIntoRow;
415
+ // 鼠标悬停所在的拖拽行信息
416
+ var dragItem = getDragRowItem(event.target, tableContainer, dataSource);
417
+ if (!dragItem) return;
418
+ var cell = dragItem.cell,
419
+ rowIndex = dragItem.rowIndex,
420
+ row = dragItem.row;
421
+ var bodyRect = tableContainer.getBoundingClientRect();
422
+ var offsetParentSize = getElementRectWithOffset(document.body);
423
+ var isTreeTable = !!treeModeOptions;
424
+ var allowDragInto = isTreeTable && allowDragIntoRow;
425
+ var direction = getDirection(cell, event.clientY, allowDragInto);
426
+ if (isTreeTable) {
427
+ var _context5;
428
+ var iconWidth = treeModeOptions.iconWidth,
429
+ iconIndent = treeModeOptions.iconIndent,
430
+ iconGap = treeModeOptions.iconGap,
431
+ indentSize = treeModeOptions.indentSize,
432
+ treeMetaKey = treeModeOptions.treeMetaKey;
433
+ var expandCell = tableContainer.querySelector((0, _concat.default)(_context5 = "tr[data-rowindex=\"".concat(rowIndex, "\"] .")).call(_context5, _styles.Classes.tableExtendCell));
434
+ if (expandCell) {
435
+ var _getElementSize2 = _getElementSize(expandCell),
436
+ paddingLeft = _getElementSize2.paddingLeft;
437
+ var expandCellRect = expandCell.getBoundingClientRect();
438
+ var _row$treeMetaKey = row[treeMetaKey],
439
+ rowKey = _row$treeMetaKey.rowKey,
440
+ depth = _row$treeMetaKey.depth,
441
+ isLeaf = _row$treeMetaKey.isLeaf,
442
+ expanded = _row$treeMetaKey.expanded;
443
+ var addWidth = isLeaf ? iconWidth + iconGap : 0;
444
+ var indent = iconIndent + depth * indentSize + addWidth;
445
+ var x = expandCellRect.x,
446
+ _y = expandCellRect.y,
447
+ _height = expandCellRect.height;
448
+ var _top = direction === 'bottom' ? _y + _height - offsetParentSize.top : _y - offsetParentSize.top;
449
+ var offsetX = Math.max(x + paddingLeft + indent - bodyRect.x, 0);
450
+ var _left = bodyRect.x + offsetX - offsetParentSize.left;
451
+ lineElement.style.left = "".concat(_left, "px");
452
+ lineElement.style.top = "".concat(_top, "px");
453
+ lineElement.style.width = "".concat(bodyRect.width - offsetX, "px");
454
+ if (direction === 'into') {
455
+ lineElement.style.display = 'none';
456
+ } else {
457
+ lineElement.style.display = 'block';
458
+ }
459
+ return;
460
+ }
290
461
  }
462
+ // 根据鼠标悬停位置所在单元格和显示位置计算拖拽线的位置
463
+ var rect = cell.getBoundingClientRect();
464
+ var y = rect.y,
465
+ height = rect.height;
466
+ var top = direction === 'bottom' ? y + height - offsetParentSize.top : y - offsetParentSize.top;
467
+ var left = bodyRect.x - offsetParentSize.left;
468
+ lineElement.style.left = "".concat(left, "px");
469
+ lineElement.style.top = "".concat(top, "px");
470
+ lineElement.style.width = "".concat(bodyRect.width, "px");
291
471
  }
292
- function removeCurSorStyle() {
293
- document.body.style.cursor = 'default';
472
+ function showDragLine(lineElement) {
473
+ lineElement.style.display = 'block';
294
474
  }
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;
475
+ function hiddenDragLine(lineElement) {
476
+ lineElement.style.display = 'none';
477
+ }
478
+ function positionDragElemment(element, event) {
479
+ var _a, _b, _c, _d, _e, _f;
480
+ if (!element) return;
481
+ var elementRect = element.getBoundingClientRect();
482
+ var eleHeight = elementRect.height;
483
+ 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;
484
+ 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;
485
+ var offsetParentSize = getElementRectWithOffset(element.offsetParent);
486
+ var clientX = event.clientX,
487
+ clientY = event.clientY;
488
+ var top = clientY - offsetParentSize.top - eleHeight / 2;
489
+ var left = clientX - offsetParentSize.left;
490
+ var windowScrollX = window.pageXOffset;
491
+ var windowScrollY = window.pageYOffset;
492
+ if (browserWidth > 0 && left + element.clientWidth > browserWidth + windowScrollX) {
493
+ left = Math.max(browserWidth + windowScrollX - element.clientWidth, 0);
494
+ }
495
+ if (browserHeight > 0 && top + element.clientHeight > browserHeight + windowScrollY) {
496
+ top = Math.max(browserHeight + windowScrollY - element.clientHeight, 0);
497
+ }
498
+ element.style.left = "".concat(left, "px");
499
+ element.style.top = "".concat(top, "px");
500
+ }
501
+ function getElementRectWithOffset(el) {
502
+ var offsetElementRect = el.getBoundingClientRect();
503
+ var _getElementSize3 = _getElementSize(el),
504
+ borderTopWidth = _getElementSize3.borderTopWidth,
505
+ borderLeftWidth = _getElementSize3.borderLeftWidth,
506
+ borderRightWidth = _getElementSize3.borderRightWidth,
507
+ borderBottomWidth = _getElementSize3.borderBottomWidth;
303
508
  return {
304
- minX: left,
305
- maxX: left + width,
306
- minY: top - rowHeight + startOffset,
307
- maxY: top + height + startOffset
509
+ top: offsetElementRect.top + (borderTopWidth || 0),
510
+ left: offsetElementRect.left + (borderLeftWidth || 0),
511
+ right: offsetElementRect.right + (borderRightWidth || 0),
512
+ bottom: offsetElementRect.bottom + (borderBottomWidth || 0)
308
513
  };
309
514
  }
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;
515
+ function _getElementSize(el) {
516
+ var _window$getComputedSt = window.getComputedStyle(el),
517
+ height = _window$getComputedSt.height,
518
+ width = _window$getComputedSt.width,
519
+ borderTopWidth = _window$getComputedSt.borderTopWidth,
520
+ borderRightWidth = _window$getComputedSt.borderRightWidth,
521
+ borderBottomWidth = _window$getComputedSt.borderBottomWidth,
522
+ borderLeftWidth = _window$getComputedSt.borderLeftWidth,
523
+ paddingTop = _window$getComputedSt.paddingTop,
524
+ paddingRight = _window$getComputedSt.paddingRight,
525
+ paddingBottom = _window$getComputedSt.paddingBottom,
526
+ paddingLeft = _window$getComputedSt.paddingLeft,
527
+ marginTop = _window$getComputedSt.marginTop,
528
+ marginRight = _window$getComputedSt.marginRight,
529
+ marginBottom = _window$getComputedSt.marginBottom,
530
+ marginLeft = _window$getComputedSt.marginLeft,
531
+ boxSizing = _window$getComputedSt.boxSizing;
319
532
  return {
320
- x: newX,
321
- y: newY
533
+ height: parseFloat(height || '0'),
534
+ width: parseFloat(width || '0'),
535
+ borderTopWidth: parseFloat(borderTopWidth || '0'),
536
+ borderRightWidth: parseFloat(borderRightWidth || '0'),
537
+ borderBottomWidth: parseFloat(borderBottomWidth || '0'),
538
+ borderLeftWidth: parseFloat(borderLeftWidth || '0'),
539
+ paddingTop: parseFloat(paddingTop || '0'),
540
+ paddingRight: parseFloat(paddingRight || '0'),
541
+ paddingBottom: parseFloat(paddingBottom || '0'),
542
+ paddingLeft: parseFloat(paddingLeft || '0'),
543
+ marginTop: parseFloat(marginTop || '0'),
544
+ marginRight: parseFloat(marginRight || '0'),
545
+ marginBottom: parseFloat(marginBottom || '0'),
546
+ marginLeft: parseFloat(marginLeft || '0'),
547
+ boxSizing: boxSizing
548
+ };
549
+ }
550
+ function removeElement(element) {
551
+ document.body.removeChild(element);
552
+ }
553
+ function setDragElementIcon(element, iconName) {
554
+ var elementIcon = element.querySelector(".".concat(_styles.Classes.rowDragElementIcon));
555
+ clearElementChildren(elementIcon);
556
+ iconName = iconName || 'notAllowed';
557
+ var iconElement = document.createElement('span');
558
+ if (iconName === 'move') {
559
+ iconElement.classList.add(_styles.Classes.iconMove);
560
+ } else if (iconName === 'notAllowed') {
561
+ iconElement.classList.add(_styles.Classes.iconNotAllowed);
562
+ }
563
+ elementIcon.appendChild(iconElement);
564
+ }
565
+ function clearElementChildren(element) {
566
+ while (element && element.firstChild) {
567
+ element.removeChild(element.firstChild);
568
+ }
569
+ }
570
+ function getScrollMoveOffset(tableBody, mouseMoveEvent) {
571
+ var clientY = mouseMoveEvent.clientY;
572
+ var tableBodyClientRect = tableBody.getBoundingClientRect();
573
+ var top = tableBodyClientRect.top,
574
+ height = tableBodyClientRect.height;
575
+ if (clientY >= top + height - SCROLL_START_OFFSET && clientY <= top + height) {
576
+ return SCROLL_OFFSET;
577
+ }
578
+ if (clientY >= top && clientY <= top + SCROLL_START_OFFSET) {
579
+ return -SCROLL_OFFSET;
580
+ }
581
+ return 0;
582
+ }
583
+ function setDragText(element, dragText) {
584
+ var dragTextString = dragText.toString();
585
+ var elementIcon = element.querySelector(".".concat(_styles.Classes.rowDragElementLabel));
586
+ var stringNode = document.createTextNode(dragTextString);
587
+ elementIcon.appendChild(stringNode);
588
+ }
589
+ function isMouseOnDropTarget(mouseEvent, target) {
590
+ return target.contains(mouseEvent.target);
591
+ }
592
+ function createDropTargetEvent(dropTarget, event, dragItem, startDropZoneTagret) {
593
+ var dropZoneTarget = dropTarget.getContainer();
594
+ var rect = dropZoneTarget.getBoundingClientRect();
595
+ var x = event.clientX - rect.left;
596
+ var y = event.clientY - rect.top;
597
+ var targetEvent = {
598
+ dragItem: dragItem,
599
+ startDropZoneTagret: startDropZoneTagret,
600
+ dropZoneTarget: dropZoneTarget,
601
+ event: event,
602
+ x: x,
603
+ y: y
322
604
  };
605
+ if (dropTarget.isTable) {
606
+ targetEvent.dropZoneTableParams = dropTarget.tableParams;
607
+ }
608
+ return targetEvent;
323
609
  }
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;
610
+ function getDirection(cell, clientY) {
611
+ var isTreeTable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
612
+ var _cell$getBoundingClie = cell.getBoundingClientRect(),
613
+ height = _cell$getBoundingClie.height,
614
+ y = _cell$getBoundingClie.y;
615
+ var direction = 'bottom';
616
+ if (isTreeTable) {
617
+ if (y + height / 4 > clientY) {
618
+ direction = 'top';
619
+ } else if (y + height * 3 / 4 > clientY) {
620
+ direction = 'into';
621
+ }
622
+ } else if (y + height / 2 > clientY) {
623
+ direction = 'top';
624
+ }
625
+ return direction;
332
626
  }