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