vxe-pc-ui 4.15.11 → 4.15.13

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 (260) hide show
  1. package/dist/all.esm.js +1597 -236
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/collapse/src/collapse.js +73 -40
  5. package/es/components.js +6 -0
  6. package/es/date-picker/src/date-picker.js +1 -0
  7. package/es/icon/style.css +1 -1
  8. package/es/image/src/image.js +14 -14
  9. package/es/language/ar-EG.js +4 -0
  10. package/es/language/de-DE.js +4 -0
  11. package/es/language/en-US.js +5 -1
  12. package/es/language/es-ES.js +4 -0
  13. package/es/language/fr-FR.js +4 -0
  14. package/es/language/hu-HU.js +4 -0
  15. package/es/language/hy-AM.js +4 -0
  16. package/es/language/id-ID.js +4 -0
  17. package/es/language/it-IT.js +4 -0
  18. package/es/language/ja-JP.js +4 -0
  19. package/es/language/ko-KR.js +4 -0
  20. package/es/language/ms-MY.js +4 -0
  21. package/es/language/nb-NO.js +4 -0
  22. package/es/language/pt-BR.js +4 -0
  23. package/es/language/ru-RU.js +4 -0
  24. package/es/language/th-TH.js +4 -0
  25. package/es/language/ug-CN.js +4 -0
  26. package/es/language/uk-UA.js +4 -0
  27. package/es/language/uz-UZ.js +4 -0
  28. package/es/language/vi-VN.js +4 -0
  29. package/es/language/zh-CHT.js +4 -0
  30. package/es/language/zh-CN.js +4 -0
  31. package/es/list/src/list.js +1163 -32
  32. package/es/list/src/store.js +8 -0
  33. package/es/list/style.css +328 -0
  34. package/es/list/style.min.css +1 -1
  35. package/es/print/src/util.js +1 -1
  36. package/es/pulldown/src/pulldown.js +4 -4
  37. package/es/style.css +1 -1
  38. package/es/style.min.css +1 -1
  39. package/es/table-transfer/index.js +12 -0
  40. package/es/table-transfer/src/table-transfer.js +65 -0
  41. package/es/table-transfer/style.css +0 -0
  42. package/es/table-transfer/style.min.css +0 -0
  43. package/es/transfer/index.js +12 -0
  44. package/es/transfer/src/transfer.js +91 -0
  45. package/es/transfer/style.css +4 -0
  46. package/es/transfer/style.min.css +1 -0
  47. package/es/tree/src/tree.js +20 -26
  48. package/es/tree/src/util.js +0 -7
  49. package/es/tree-select/src/tree-select.js +8 -7
  50. package/es/ui/index.js +14 -2
  51. package/es/ui/src/log.js +1 -1
  52. package/es/ui/src/utils.js +12 -0
  53. package/es/vxe-list/style.css +328 -0
  54. package/es/vxe-list/style.min.css +1 -1
  55. package/es/vxe-table-transfer/index.js +3 -0
  56. package/es/vxe-table-transfer/style.css +0 -0
  57. package/es/vxe-table-transfer/style.min.css +0 -0
  58. package/es/vxe-transfer/index.js +3 -0
  59. package/es/vxe-transfer/style.css +4 -0
  60. package/es/vxe-transfer/style.min.css +1 -0
  61. package/lib/collapse/src/collapse.js +89 -47
  62. package/lib/collapse/src/collapse.min.js +1 -1
  63. package/lib/components.js +25 -1
  64. package/lib/components.min.js +1 -1
  65. package/lib/date-picker/src/date-picker.js +1 -0
  66. package/lib/date-picker/src/date-picker.min.js +1 -1
  67. package/lib/icon/style/style.css +1 -1
  68. package/lib/icon/style/style.min.css +1 -1
  69. package/lib/image/src/image.js +17 -17
  70. package/lib/image/src/image.min.js +1 -1
  71. package/lib/index.umd.js +1753 -188
  72. package/lib/index.umd.min.js +1 -1
  73. package/lib/language/ar-EG.js +4 -0
  74. package/lib/language/ar-EG.min.js +1 -1
  75. package/lib/language/ar-EG.umd.js +4 -0
  76. package/lib/language/de-DE.js +4 -0
  77. package/lib/language/de-DE.min.js +1 -1
  78. package/lib/language/de-DE.umd.js +4 -0
  79. package/lib/language/en-US.js +5 -1
  80. package/lib/language/en-US.min.js +1 -1
  81. package/lib/language/en-US.umd.js +5 -1
  82. package/lib/language/es-ES.js +4 -0
  83. package/lib/language/es-ES.min.js +1 -1
  84. package/lib/language/es-ES.umd.js +4 -0
  85. package/lib/language/fr-FR.js +4 -0
  86. package/lib/language/fr-FR.min.js +1 -1
  87. package/lib/language/fr-FR.umd.js +4 -0
  88. package/lib/language/hu-HU.js +4 -0
  89. package/lib/language/hu-HU.min.js +1 -1
  90. package/lib/language/hu-HU.umd.js +4 -0
  91. package/lib/language/hy-AM.js +4 -0
  92. package/lib/language/hy-AM.min.js +1 -1
  93. package/lib/language/hy-AM.umd.js +4 -0
  94. package/lib/language/id-ID.js +4 -0
  95. package/lib/language/id-ID.min.js +1 -1
  96. package/lib/language/id-ID.umd.js +4 -0
  97. package/lib/language/it-IT.js +4 -0
  98. package/lib/language/it-IT.min.js +1 -1
  99. package/lib/language/it-IT.umd.js +4 -0
  100. package/lib/language/ja-JP.js +4 -0
  101. package/lib/language/ja-JP.min.js +1 -1
  102. package/lib/language/ja-JP.umd.js +4 -0
  103. package/lib/language/ko-KR.js +4 -0
  104. package/lib/language/ko-KR.min.js +1 -1
  105. package/lib/language/ko-KR.umd.js +4 -0
  106. package/lib/language/ms-MY.js +4 -0
  107. package/lib/language/ms-MY.min.js +1 -1
  108. package/lib/language/ms-MY.umd.js +4 -0
  109. package/lib/language/nb-NO.js +4 -0
  110. package/lib/language/nb-NO.min.js +1 -1
  111. package/lib/language/nb-NO.umd.js +4 -0
  112. package/lib/language/pt-BR.js +4 -0
  113. package/lib/language/pt-BR.min.js +1 -1
  114. package/lib/language/pt-BR.umd.js +4 -0
  115. package/lib/language/ru-RU.js +4 -0
  116. package/lib/language/ru-RU.min.js +1 -1
  117. package/lib/language/ru-RU.umd.js +4 -0
  118. package/lib/language/th-TH.js +4 -0
  119. package/lib/language/th-TH.min.js +1 -1
  120. package/lib/language/th-TH.umd.js +4 -0
  121. package/lib/language/ug-CN.js +4 -0
  122. package/lib/language/ug-CN.min.js +1 -1
  123. package/lib/language/ug-CN.umd.js +4 -0
  124. package/lib/language/uk-UA.js +4 -0
  125. package/lib/language/uk-UA.min.js +1 -1
  126. package/lib/language/uk-UA.umd.js +4 -0
  127. package/lib/language/uz-UZ.js +4 -0
  128. package/lib/language/uz-UZ.min.js +1 -1
  129. package/lib/language/uz-UZ.umd.js +4 -0
  130. package/lib/language/vi-VN.js +4 -0
  131. package/lib/language/vi-VN.min.js +1 -1
  132. package/lib/language/vi-VN.umd.js +4 -0
  133. package/lib/language/zh-CHT.js +4 -0
  134. package/lib/language/zh-CHT.min.js +1 -1
  135. package/lib/language/zh-CHT.umd.js +4 -0
  136. package/lib/language/zh-CN.js +4 -0
  137. package/lib/language/zh-CN.min.js +1 -1
  138. package/lib/language/zh-CN.umd.js +4 -0
  139. package/lib/list/src/list.js +1319 -30
  140. package/lib/list/src/list.min.js +1 -1
  141. package/lib/list/src/store.js +15 -0
  142. package/lib/list/src/store.min.js +1 -0
  143. package/lib/list/style/style.css +328 -0
  144. package/lib/list/style/style.min.css +1 -1
  145. package/lib/print/src/util.js +1 -1
  146. package/lib/print/src/util.min.js +1 -1
  147. package/lib/pulldown/src/pulldown.js +4 -0
  148. package/lib/pulldown/src/pulldown.min.js +1 -1
  149. package/lib/style.css +1 -1
  150. package/lib/style.min.css +1 -1
  151. package/lib/table-transfer/index.js +19 -0
  152. package/lib/table-transfer/index.min.js +1 -0
  153. package/lib/table-transfer/src/table-transfer.js +76 -0
  154. package/lib/table-transfer/src/table-transfer.min.js +1 -0
  155. package/lib/table-transfer/style/index.js +1 -0
  156. package/lib/table-transfer/style/style.css +0 -0
  157. package/lib/table-transfer/style/style.min.css +0 -0
  158. package/lib/transfer/index.js +19 -0
  159. package/lib/transfer/index.min.js +1 -0
  160. package/lib/transfer/src/transfer.js +95 -0
  161. package/lib/transfer/src/transfer.min.js +1 -0
  162. package/lib/transfer/style/index.js +1 -0
  163. package/lib/transfer/style/style.css +4 -0
  164. package/lib/transfer/style/style.min.css +1 -0
  165. package/lib/tree/src/tree.js +18 -24
  166. package/lib/tree/src/tree.min.js +1 -1
  167. package/lib/tree/src/util.js +0 -10
  168. package/lib/tree/src/util.min.js +1 -1
  169. package/lib/tree-select/src/tree-select.js +9 -6
  170. package/lib/tree-select/src/tree-select.min.js +1 -1
  171. package/lib/ui/index.js +14 -2
  172. package/lib/ui/index.min.js +1 -1
  173. package/lib/ui/src/log.js +1 -1
  174. package/lib/ui/src/log.min.js +1 -1
  175. package/lib/ui/src/utils.js +15 -0
  176. package/lib/ui/src/utils.min.js +1 -1
  177. package/lib/vxe-list/style/style.css +328 -0
  178. package/lib/vxe-list/style/style.min.css +1 -1
  179. package/lib/vxe-table-transfer/index.js +21 -0
  180. package/lib/vxe-table-transfer/index.min.js +1 -0
  181. package/lib/vxe-table-transfer/style/index.js +1 -0
  182. package/lib/vxe-table-transfer/style/style.css +0 -0
  183. package/lib/vxe-table-transfer/style/style.min.css +0 -0
  184. package/lib/vxe-transfer/index.js +21 -0
  185. package/lib/vxe-transfer/index.min.js +1 -0
  186. package/lib/vxe-transfer/style/index.js +1 -0
  187. package/lib/vxe-transfer/style/style.css +4 -0
  188. package/lib/vxe-transfer/style/style.min.css +1 -0
  189. package/package.json +1 -1
  190. package/packages/collapse/src/collapse.ts +81 -42
  191. package/packages/components.ts +6 -0
  192. package/packages/date-picker/src/date-picker.ts +1 -0
  193. package/packages/image/src/image.ts +14 -14
  194. package/packages/language/ar-EG.ts +4 -0
  195. package/packages/language/de-DE.ts +4 -0
  196. package/packages/language/en-US.ts +5 -1
  197. package/packages/language/es-ES.ts +4 -0
  198. package/packages/language/fr-FR.ts +4 -0
  199. package/packages/language/hu-HU.ts +4 -0
  200. package/packages/language/hy-AM.ts +4 -0
  201. package/packages/language/id-ID.ts +4 -0
  202. package/packages/language/it-IT.ts +4 -0
  203. package/packages/language/ja-JP.ts +4 -0
  204. package/packages/language/ko-KR.ts +4 -0
  205. package/packages/language/ms-MY.ts +4 -0
  206. package/packages/language/nb-NO.ts +4 -0
  207. package/packages/language/pt-BR.ts +4 -0
  208. package/packages/language/ru-RU.ts +4 -0
  209. package/packages/language/th-TH.ts +4 -0
  210. package/packages/language/ug-CN.ts +4 -0
  211. package/packages/language/uk-UA.ts +4 -0
  212. package/packages/language/uz-UZ.ts +4 -0
  213. package/packages/language/vi-VN.ts +4 -0
  214. package/packages/language/zh-CHT.ts +4 -0
  215. package/packages/language/zh-CN.ts +4 -0
  216. package/packages/list/src/list.ts +1276 -37
  217. package/packages/list/src/store.ts +14 -0
  218. package/packages/print/src/util.ts +1 -2
  219. package/packages/pulldown/src/pulldown.ts +4 -4
  220. package/packages/table-transfer/index.ts +16 -0
  221. package/packages/table-transfer/src/table-transfer.ts +91 -0
  222. package/packages/transfer/index.ts +16 -0
  223. package/packages/transfer/src/transfer.ts +117 -0
  224. package/packages/tree/src/tree.ts +20 -26
  225. package/packages/tree/src/util.ts +0 -10
  226. package/packages/tree-select/src/tree-select.ts +8 -7
  227. package/packages/ui/index.ts +14 -1
  228. package/packages/ui/src/utils.ts +15 -0
  229. package/styles/all.scss +2 -0
  230. package/styles/components/list.scss +245 -0
  231. package/styles/components/table-transfer.scss +0 -0
  232. package/styles/components/transfer.scss +4 -0
  233. package/styles/components/tree.scss +1 -0
  234. package/styles/theme/base.scss +3 -0
  235. package/styles/theme/dark.scss +10 -0
  236. package/styles/theme/light.scss +10 -0
  237. package/styles/variable.scss +11 -1
  238. package/types/all.d.ts +6 -0
  239. package/types/components/collapse.d.ts +4 -2
  240. package/types/components/list.d.ts +349 -17
  241. package/types/components/pulldown.d.ts +1 -0
  242. package/types/components/table-transfer.d.ts +84 -0
  243. package/types/components/table.d.ts +4 -0
  244. package/types/components/transfer.d.ts +84 -0
  245. package/types/components/tree-select.d.ts +4 -0
  246. package/types/components/tree.d.ts +1 -1
  247. package/types/ui/global-config.d.ts +4 -0
  248. package/types/ui/global-icon.d.ts +6 -1
  249. /package/es/icon/{iconfont.1782358507268.ttf → iconfont.1782658269305.ttf} +0 -0
  250. /package/es/icon/{iconfont.1782358507268.woff → iconfont.1782658269305.woff} +0 -0
  251. /package/es/icon/{iconfont.1782358507268.woff2 → iconfont.1782658269305.woff2} +0 -0
  252. /package/es/{iconfont.1782358507268.ttf → iconfont.1782658269305.ttf} +0 -0
  253. /package/es/{iconfont.1782358507268.woff → iconfont.1782658269305.woff} +0 -0
  254. /package/es/{iconfont.1782358507268.woff2 → iconfont.1782658269305.woff2} +0 -0
  255. /package/lib/icon/style/{iconfont.1782358507268.ttf → iconfont.1782658269305.ttf} +0 -0
  256. /package/lib/icon/style/{iconfont.1782358507268.woff → iconfont.1782658269305.woff} +0 -0
  257. /package/lib/icon/style/{iconfont.1782358507268.woff2 → iconfont.1782658269305.woff2} +0 -0
  258. /package/lib/{iconfont.1782358507268.ttf → iconfont.1782658269305.ttf} +0 -0
  259. /package/lib/{iconfont.1782358507268.woff → iconfont.1782658269305.woff} +0 -0
  260. /package/lib/{iconfont.1782358507268.woff2 → iconfont.1782658269305.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -2914,6 +2914,7 @@ __webpack_require__.d(__webpack_exports__, {
2914
2914
  Switch: function() { return /* reexport */ Switch; },
2915
2915
  TabPane: function() { return /* reexport */ TabPane; },
2916
2916
  TableSelect: function() { return /* reexport */ TableSelect; },
2917
+ TableTransfer: function() { return /* reexport */ TableTransfer; },
2917
2918
  Tabs: function() { return /* reexport */ Tabs; },
2918
2919
  Tag: function() { return /* reexport */ Tag; },
2919
2920
  Text: function() { return /* reexport */ Text; },
@@ -2925,6 +2926,7 @@ __webpack_require__.d(__webpack_exports__, {
2925
2926
  Tips: function() { return /* reexport */ Tips; },
2926
2927
  Tooltip: function() { return /* reexport */ Tooltip; },
2927
2928
  Tour: function() { return /* reexport */ Tour; },
2929
+ Transfer: function() { return /* reexport */ Transfer; },
2928
2930
  Tree: function() { return /* reexport */ Tree; },
2929
2931
  TreeSelect: function() { return /* reexport */ TreeSelect; },
2930
2932
  Upload: function() { return /* reexport */ Upload; },
@@ -3004,6 +3006,7 @@ __webpack_require__.d(__webpack_exports__, {
3004
3006
  VxeSwitch: function() { return /* reexport */ VxeSwitch; },
3005
3007
  VxeTabPane: function() { return /* reexport */ VxeTabPane; },
3006
3008
  VxeTableSelect: function() { return /* reexport */ VxeTableSelect; },
3009
+ VxeTableTransfer: function() { return /* reexport */ VxeTableTransfer; },
3007
3010
  VxeTabs: function() { return /* reexport */ VxeTabs; },
3008
3011
  VxeTag: function() { return /* reexport */ VxeTag; },
3009
3012
  VxeText: function() { return /* reexport */ VxeText; },
@@ -3014,6 +3017,7 @@ __webpack_require__.d(__webpack_exports__, {
3014
3017
  VxeTip: function() { return /* reexport */ VxeTip; },
3015
3018
  VxeTooltip: function() { return /* reexport */ VxeTooltip; },
3016
3019
  VxeTour: function() { return /* reexport */ VxeTour; },
3020
+ VxeTransfer: function() { return /* reexport */ VxeTransfer; },
3017
3021
  VxeTree: function() { return /* reexport */ VxeTree; },
3018
3022
  VxeTreeSelect: function() { return /* reexport */ VxeTreeSelect; },
3019
3023
  VxeUI: function() { return /* reexport */ VxeUI; },
@@ -3158,6 +3162,7 @@ __webpack_require__.d(components_namespaceObject, {
3158
3162
  Switch: function() { return Switch; },
3159
3163
  TabPane: function() { return TabPane; },
3160
3164
  TableSelect: function() { return TableSelect; },
3165
+ TableTransfer: function() { return TableTransfer; },
3161
3166
  Tabs: function() { return Tabs; },
3162
3167
  Tag: function() { return Tag; },
3163
3168
  Text: function() { return Text; },
@@ -3169,6 +3174,7 @@ __webpack_require__.d(components_namespaceObject, {
3169
3174
  Tips: function() { return Tips; },
3170
3175
  Tooltip: function() { return Tooltip; },
3171
3176
  Tour: function() { return Tour; },
3177
+ Transfer: function() { return Transfer; },
3172
3178
  Tree: function() { return Tree; },
3173
3179
  TreeSelect: function() { return TreeSelect; },
3174
3180
  Upload: function() { return Upload; },
@@ -3248,6 +3254,7 @@ __webpack_require__.d(components_namespaceObject, {
3248
3254
  VxeSwitch: function() { return VxeSwitch; },
3249
3255
  VxeTabPane: function() { return VxeTabPane; },
3250
3256
  VxeTableSelect: function() { return VxeTableSelect; },
3257
+ VxeTableTransfer: function() { return VxeTableTransfer; },
3251
3258
  VxeTabs: function() { return VxeTabs; },
3252
3259
  VxeTag: function() { return VxeTag; },
3253
3260
  VxeText: function() { return VxeText; },
@@ -3258,6 +3265,7 @@ __webpack_require__.d(components_namespaceObject, {
3258
3265
  VxeTip: function() { return VxeTip; },
3259
3266
  VxeTooltip: function() { return VxeTooltip; },
3260
3267
  VxeTour: function() { return VxeTour; },
3268
+ VxeTransfer: function() { return VxeTransfer; },
3261
3269
  VxeTree: function() { return VxeTree; },
3262
3270
  VxeTreeSelect: function() { return VxeTreeSelect; },
3263
3271
  VxeUI: function() { return VxeUI; },
@@ -4649,7 +4657,7 @@ function checkDynamic() {
4649
4657
  const {
4650
4658
  log: log_log
4651
4659
  } = VxeUI;
4652
- const uiVersion = `ui v${"4.15.11"}`;
4660
+ const uiVersion = `ui v${"4.15.13"}`;
4653
4661
  function createComponentLog(name) {
4654
4662
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
4655
4663
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -4667,7 +4675,7 @@ const errLog = log_log.create('error', uiVersion);
4667
4675
 
4668
4676
 
4669
4677
 
4670
- const ui_version = "4.15.11";
4678
+ const ui_version = "4.15.13";
4671
4679
  VxeUI.uiVersion = ui_version;
4672
4680
  VxeUI.dynamicApp = dynamicApp;
4673
4681
  function config(options) {
@@ -4887,6 +4895,12 @@ setConfig({
4887
4895
  listView: {},
4888
4896
  list: {
4889
4897
  // size: null,
4898
+ dragConfig: {
4899
+ showIcon: true,
4900
+ animation: true,
4901
+ showGuidesStatus: true,
4902
+ showDragTip: true
4903
+ },
4890
4904
  virtualYConfig: {
4891
4905
  enabled: true,
4892
4906
  gt: 100
@@ -5042,6 +5056,7 @@ setConfig({
5042
5056
  }
5043
5057
  }
5044
5058
  },
5059
+ tableTransfer: {},
5045
5060
  tabs: {
5046
5061
  // destroyOnClose: false
5047
5062
  },
@@ -5069,6 +5084,7 @@ setConfig({
5069
5084
  leaveDelay: 300,
5070
5085
  isArrow: true
5071
5086
  },
5087
+ transfer: {},
5072
5088
  tree: {
5073
5089
  // autoResize: false,
5074
5090
  indent: 20,
@@ -5330,7 +5346,11 @@ setIcon({
5330
5346
  // cascader
5331
5347
  CASCADER_NODE_OPEN: iconPrefix + 'arrow-right',
5332
5348
  CASCADER_NODE_CLOSE: iconPrefix + 'arrow-right',
5333
- CASCADER_NODE_LOADED: iconPrefix + 'spinner roll'
5349
+ CASCADER_NODE_LOADED: iconPrefix + 'spinner roll',
5350
+ // list
5351
+ LIST_DRAG: iconPrefix + 'drag-handle',
5352
+ LIST_DRAG_STATUS_NODE: iconPrefix + 'sort',
5353
+ LIST_DRAG_DISABLED: iconPrefix + 'no-drop'
5334
5354
  });
5335
5355
 
5336
5356
  /* harmony default export */ var ui = ((/* unused pure expression or super */ null && (ui_VxeUI)));
@@ -5450,6 +5470,10 @@ setIcon({
5450
5470
  overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
5451
5471
  searchEmpty: '未匹配到数据!'
5452
5472
  },
5473
+ list: {
5474
+ allChecked: '全选',
5475
+ dragTip: '移动:{0}'
5476
+ },
5453
5477
  tree: {
5454
5478
  searchEmpty: '未匹配到数据!',
5455
5479
  dragTip: '移动:{0}'
@@ -7176,6 +7200,12 @@ function getFuncText(content, args) {
7176
7200
  const translate = getConfig().translate;
7177
7201
  return `${translate ? translate('' + content, args) : content}`;
7178
7202
  }
7203
+ function getText(content) {
7204
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(content)) {
7205
+ return '';
7206
+ }
7207
+ return '' + content;
7208
+ }
7179
7209
  /**
7180
7210
  * 判断值为:'' | null | undefined 时都属于空值
7181
7211
  */
@@ -7185,6 +7215,12 @@ function eqEmptyValue(cellValue) {
7185
7215
  function handleBooleanDefaultValue(value) {
7186
7216
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(value) ? value : null;
7187
7217
  }
7218
+ function enModelValue(nodeid) {
7219
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(nodeid) ? '' : encodeURIComponent(`${nodeid}`);
7220
+ }
7221
+ function deModelValue(nodeid) {
7222
+ return nodeid ? decodeURIComponent(`${nodeid}`) : nodeid;
7223
+ }
7188
7224
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
7189
7225
  var es_iterator_filter = __webpack_require__(2489);
7190
7226
  ;// ./packages/tooltip/src/tooltip.ts
@@ -11932,6 +11968,67 @@ function enNodeValue(nodeid) {
11932
11968
  function deNodeValue(nodeid) {
11933
11969
  return nodeid ? decodeURIComponent(`${nodeid}`) : nodeid;
11934
11970
  }
11971
+ ;// ./packages/list/src/store.ts
11972
+
11973
+ // 跨列表拖拽
11974
+ const crossListDragRowInfo = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)({
11975
+ row: null
11976
+ });
11977
+ function getCrossListDragRowInfo() {
11978
+ return crossListDragRowInfo;
11979
+ }
11980
+ ;// ./packages/ui/src/anime.ts
11981
+ /* unused harmony import specifier */ var anime_XEUtils;
11982
+ /* unused harmony import specifier */ var anime_addClass;
11983
+ /* unused harmony import specifier */ var anime_removeClass;
11984
+
11985
+
11986
+
11987
+
11988
+ const rowMoveCls = 'row--drag-move';
11989
+ const colMoveClass = 'col--drag-move';
11990
+ /**
11991
+ * 上下拖拽
11992
+ */
11993
+ function moveRowAnimateToTb(elemList, offsetTop) {
11994
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elemList, trEl => {
11995
+ trEl.style.transform = `translateY(${offsetTop}px)`;
11996
+ });
11997
+ requestAnimationFrame(() => {
11998
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elemList, trEl => {
11999
+ addClass(trEl, rowMoveCls);
12000
+ trEl.style.transform = '';
12001
+ });
12002
+ });
12003
+ }
12004
+ function clearRowAnimate(elem, clss) {
12005
+ setTimeout(() => {
12006
+ if (elem) {
12007
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elem.querySelectorAll(clss.map(cls => `${cls}.${rowMoveCls}`).join(',')), elem => removeClass(elem, rowMoveCls));
12008
+ }
12009
+ }, 500);
12010
+ }
12011
+ /**
12012
+ * 左右拖拽
12013
+ */
12014
+ function moveColAnimateToLr(elemList, offsetLeft) {
12015
+ anime_XEUtils.arrayEach(elemList, trEl => {
12016
+ trEl.style.transform = `translateX(${offsetLeft}px)`;
12017
+ });
12018
+ requestAnimationFrame(() => {
12019
+ anime_XEUtils.arrayEach(elemList, trEl => {
12020
+ anime_addClass(trEl, colMoveClass);
12021
+ trEl.style.transform = '';
12022
+ });
12023
+ });
12024
+ }
12025
+ function clearColAnimate(elem, clss) {
12026
+ setTimeout(() => {
12027
+ if (elem) {
12028
+ anime_XEUtils.arrayEach(elem.querySelectorAll(clss.map(cls => `${cls}.${rowMoveCls}`).join(',')), elem => anime_removeClass(elem, colMoveClass));
12029
+ }
12030
+ }, 500);
12031
+ }
11935
12032
  ;// ./packages/list/src/list.ts
11936
12033
 
11937
12034
 
@@ -11939,21 +12036,53 @@ function deNodeValue(nodeid) {
11939
12036
 
11940
12037
 
11941
12038
 
12039
+
12040
+
12041
+
12042
+
12043
+
12044
+
12045
+
12046
+
12047
+
12048
+ const {
12049
+ errLog: list_errLog
12050
+ } = createComponentLog('tree');
12051
+ function getRowKeyByField(row, keyField) {
12052
+ return row ? '' + (row[keyField] || '') : '';
12053
+ }
12054
+ function getRowIdByField(row, keyField) {
12055
+ if (!row) {
12056
+ return '';
12057
+ }
12058
+ const rowKey = getRowKeyByField(row, keyField);
12059
+ return enModelValue(rowKey);
12060
+ }
11942
12061
  function list_createReactData() {
11943
12062
  return {
11944
12063
  scrollYLoad: false,
11945
12064
  bodyHeight: 0,
12065
+ headHeight: 0,
12066
+ footHeight: 0,
11946
12067
  customHeight: 0,
11947
12068
  customMaxHeight: 0,
11948
12069
  parentHeight: 0,
11949
12070
  topSpaceHeight: 0,
11950
- items: []
12071
+ rowList: [],
12072
+ selectRadioRow: null,
12073
+ currRowFlag: 1,
12074
+ updateCheckboxFlag: 1,
12075
+ isAllChecked: false,
12076
+ isAllIndeterminate: false,
12077
+ dragRow: null,
12078
+ dragTipText: ''
11951
12079
  };
11952
12080
  }
11953
12081
  function list_createInternalData() {
11954
12082
  return {
11955
12083
  resizeObserver: undefined,
11956
12084
  fullData: [],
12085
+ fullKeyMaps: {},
11957
12086
  lastScrollLeft: 0,
11958
12087
  lastScrollTop: 0,
11959
12088
  scrollYStore: {
@@ -11962,7 +12091,11 @@ function list_createInternalData() {
11962
12091
  visibleSize: 0,
11963
12092
  offsetSize: 0,
11964
12093
  rowHeight: 0
11965
- }
12094
+ },
12095
+ currentRow: null,
12096
+ selectCheckboxMaps: {}
12097
+ // prevDragRow: null,
12098
+ // prevDragPos: ''
11966
12099
  };
11967
12100
  }
11968
12101
  /* harmony default export */ var list = (defineVxeComponent({
@@ -11982,10 +12115,24 @@ function list_createInternalData() {
11982
12115
  default: () => getConfig().list.autoResize
11983
12116
  },
11984
12117
  syncResize: [Boolean, String, Number],
12118
+ showRadio: {
12119
+ type: Boolean,
12120
+ default: () => getConfig().list.showRadio
12121
+ },
12122
+ checkRowKey: [String, Number],
12123
+ radioConfig: Object,
12124
+ showCheckbox: {
12125
+ type: Boolean,
12126
+ default: () => getConfig().list.showCheckbox
12127
+ },
12128
+ checkRowKeys: Array,
12129
+ checkboxConfig: Object,
12130
+ rowConfig: Object,
12131
+ dragConfig: Object,
11985
12132
  virtualYConfig: Object,
11986
12133
  scrollY: Object
11987
12134
  },
11988
- emits: ['scroll'],
12135
+ emits: ['update:checkRowKey', 'update:checkRowKeys', 'row-click', 'row-dblclick', 'current-change', 'radio-change', 'checkbox-change', 'checkbox-all', 'scroll', 'row-dragstart', 'row-dragover', 'row-dragend'],
11989
12136
  setup(props, context) {
11990
12137
  const {
11991
12138
  slots,
@@ -11998,9 +12145,14 @@ function list_createInternalData() {
11998
12145
  } = useSize(props);
11999
12146
  const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(list_createReactData());
12000
12147
  const internalData = list_createInternalData();
12148
+ const crossListDragRowInfo = getCrossListDragRowInfo();
12001
12149
  const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
12150
+ const refHeaderElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
12151
+ const refFooterElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
12002
12152
  const refVirtualWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
12003
12153
  const refVirtualBody = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
12154
+ const refDragRowLineElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
12155
+ const refDragTipElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
12004
12156
  const refMaps = {
12005
12157
  refElem
12006
12158
  };
@@ -12012,24 +12164,71 @@ function list_createInternalData() {
12012
12164
  internalData,
12013
12165
  getRefMaps: () => refMaps
12014
12166
  };
12167
+ const computeRowOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12168
+ return Object.assign({}, getConfig().list.rowConfig, props.rowConfig);
12169
+ });
12170
+ const computeDragOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12171
+ return Object.assign({}, getConfig().list.dragConfig, props.dragConfig);
12172
+ });
12015
12173
  const computeSYOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12016
12174
  return Object.assign({}, getConfig().list.virtualYConfig || getConfig().list.scrollY, props.virtualYConfig || props.scrollY);
12017
12175
  });
12018
- const computeStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12176
+ const computeKeyField = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12177
+ const rowOpts = computeRowOpts.value;
12178
+ const {
12179
+ keyField
12180
+ } = rowOpts;
12181
+ return keyField || '';
12182
+ });
12183
+ const computeIsDrag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12184
+ const {
12185
+ dragConfig
12186
+ } = props;
12187
+ const dragOpts = computeDragOpts.value;
12188
+ return dragConfig && isEnableConf(dragOpts);
12189
+ });
12190
+ const computeRowHeight = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12191
+ const rowOpts = computeRowOpts.value;
12192
+ const {
12193
+ height
12194
+ } = rowOpts;
12195
+ return height;
12196
+ });
12197
+ const computeRadioOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12198
+ return Object.assign({
12199
+ showIcon: true
12200
+ }, getConfig().list.radioConfig, props.radioConfig);
12201
+ });
12202
+ const computeCheckboxOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12203
+ return Object.assign({
12204
+ showIcon: true
12205
+ }, getConfig().list.checkboxConfig, props.checkboxConfig);
12206
+ });
12207
+ const computeWrapperStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12208
+ const rowHeight = computeRowHeight.value;
12209
+ const style = {};
12210
+ if (rowHeight) {
12211
+ style['--vxe-ui-list-row-height'] = toCssUnit(rowHeight);
12212
+ }
12213
+ return style;
12214
+ });
12215
+ const computeVirtualStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12019
12216
  const {
12020
12217
  height,
12021
12218
  maxHeight
12022
12219
  } = props;
12023
12220
  const {
12024
12221
  customHeight,
12025
- customMaxHeight
12222
+ customMaxHeight,
12223
+ headHeight,
12224
+ footHeight
12026
12225
  } = reactData;
12027
12226
  const style = {};
12028
12227
  if (height) {
12029
- style.height = `${customHeight}px`;
12228
+ style.height = toCssUnit(Math.max(20, customHeight - headHeight - footHeight));
12030
12229
  } else if (maxHeight) {
12031
12230
  style.height = 'auto';
12032
- style.maxHeight = `${customMaxHeight}px`;
12231
+ style.maxHeight = toCssUnit(Math.max(20, customMaxHeight - headHeight - footHeight));
12033
12232
  }
12034
12233
  return style;
12035
12234
  });
@@ -12038,6 +12237,16 @@ function list_createInternalData() {
12038
12237
  $list: $xeList
12039
12238
  }, params));
12040
12239
  };
12240
+ const emitCheckboxMode = value => {
12241
+ emit('update:checkRowKeys', value);
12242
+ };
12243
+ const emitRadioMode = value => {
12244
+ emit('update:checkRowKey', value);
12245
+ };
12246
+ const getRowId = row => {
12247
+ const keyField = computeKeyField.value;
12248
+ return getRowIdByField(row, keyField);
12249
+ };
12041
12250
  const calcTableHeight = key => {
12042
12251
  const {
12043
12252
  parentHeight
@@ -12059,6 +12268,10 @@ function list_createInternalData() {
12059
12268
  return num;
12060
12269
  };
12061
12270
  const updateHeight = () => {
12271
+ const headEl = refHeaderElem.value;
12272
+ const footEl = refFooterElem.value;
12273
+ reactData.headHeight = headEl ? Math.floor(headEl.offsetHeight) : 0;
12274
+ reactData.footHeight = footEl ? Math.floor(footEl.offsetHeight) : 0;
12062
12275
  reactData.customHeight = calcTableHeight('height');
12063
12276
  reactData.customMaxHeight = calcTableHeight('maxHeight');
12064
12277
  };
@@ -12081,7 +12294,7 @@ function list_createInternalData() {
12081
12294
  fullData,
12082
12295
  scrollYStore
12083
12296
  } = internalData;
12084
- reactData.items = scrollYLoad ? fullData.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullData.slice(0);
12297
+ reactData.rowList = scrollYLoad ? fullData.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullData.slice(0);
12085
12298
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
12086
12299
  };
12087
12300
  const updateYData = () => {
@@ -12099,17 +12312,17 @@ function list_createInternalData() {
12099
12312
  const virtualBodyElem = refVirtualBody.value;
12100
12313
  const sYOpts = computeSYOpts.value;
12101
12314
  let rowHeight = 0;
12102
- let firstItemElem;
12315
+ let firstRowElem;
12103
12316
  if (virtualBodyElem) {
12104
12317
  if (sYOpts.sItem) {
12105
- firstItemElem = virtualBodyElem.querySelector(sYOpts.sItem);
12318
+ firstRowElem = virtualBodyElem.querySelector(sYOpts.sItem);
12106
12319
  }
12107
- if (!firstItemElem) {
12108
- firstItemElem = virtualBodyElem.children[0];
12320
+ if (!firstRowElem) {
12321
+ firstRowElem = virtualBodyElem.children[0];
12109
12322
  }
12110
12323
  }
12111
- if (firstItemElem) {
12112
- rowHeight = firstItemElem.offsetHeight;
12324
+ if (firstRowElem) {
12325
+ rowHeight = firstRowElem.offsetHeight;
12113
12326
  }
12114
12327
  rowHeight = Math.max(12, rowHeight);
12115
12328
  scrollYStore.rowHeight = rowHeight;
@@ -12238,6 +12451,53 @@ function list_createInternalData() {
12238
12451
  isY
12239
12452
  }, evnt);
12240
12453
  };
12454
+ const updateRadioModeValue = () => {
12455
+ const {
12456
+ checkRowKey
12457
+ } = props;
12458
+ const {
12459
+ fullKeyMaps
12460
+ } = internalData;
12461
+ if (checkRowKey) {
12462
+ const row = fullKeyMaps[checkRowKey];
12463
+ reactData.selectRadioRow = row || null;
12464
+ } else {
12465
+ reactData.selectRadioRow = null;
12466
+ }
12467
+ };
12468
+ const updateCheckboxModeValue = () => {
12469
+ const {
12470
+ checkRowKeys
12471
+ } = props;
12472
+ const {
12473
+ fullKeyMaps
12474
+ } = internalData;
12475
+ const keyField = computeKeyField.value;
12476
+ const selectMaps = {};
12477
+ if (checkRowKeys && checkRowKeys.length) {
12478
+ for (const rowKey of checkRowKeys) {
12479
+ const row = fullKeyMaps[rowKey];
12480
+ if (row) {
12481
+ const rowid = getRowIdByField(row, keyField);
12482
+ selectMaps[rowid] = row;
12483
+ }
12484
+ }
12485
+ }
12486
+ internalData.selectCheckboxMaps = selectMaps;
12487
+ updateCheckboxStatus();
12488
+ };
12489
+ const cacheRowMap = () => {
12490
+ const {
12491
+ fullData
12492
+ } = internalData;
12493
+ const keyField = computeKeyField.value;
12494
+ const keyMaps = {};
12495
+ fullData.forEach(row => {
12496
+ const rowKey = getRowKeyByField(row, keyField);
12497
+ keyMaps[rowKey] = row;
12498
+ });
12499
+ internalData.fullKeyMaps = keyMaps;
12500
+ };
12241
12501
  /**
12242
12502
  * 加载数据
12243
12503
  * @param {Array} datas 数据
@@ -12256,11 +12516,790 @@ function list_createInternalData() {
12256
12516
  internalData.fullData = fullData;
12257
12517
  // 如果gt为0,则总是启用
12258
12518
  reactData.scrollYLoad = !!sYOpts.enabled && sYOpts.gt > -1 && (sYOpts.gt === 0 || sYOpts.gt <= fullData.length);
12519
+ cacheRowMap();
12259
12520
  handleData();
12521
+ updateRadioModeValue();
12522
+ updateCheckboxModeValue();
12260
12523
  return computeScrollLoad().then(() => {
12261
12524
  refreshScroll();
12262
12525
  });
12263
12526
  };
12527
+ const clearRowDropOrigin = () => {
12528
+ const el = refElem.value;
12529
+ if (el) {
12530
+ const clss = 'row--drag-origin';
12531
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.${clss}`), elem => {
12532
+ elem.draggable = false;
12533
+ removeClass(elem, clss);
12534
+ });
12535
+ }
12536
+ };
12537
+ const updateRowDropOrigin = row => {
12538
+ const sYOpts = computeSYOpts.value;
12539
+ const {
12540
+ sItem
12541
+ } = sYOpts;
12542
+ const el = refElem.value;
12543
+ if (el) {
12544
+ const clss = 'row--drag-origin';
12545
+ const rowid = getRowId(row);
12546
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(el.querySelectorAll(`.vxe-list--row[rowid="${rowid}"]` + (sItem ? `${sItem}[rowid="${rowid}"]` : '')), elem => {
12547
+ addClass(elem, clss);
12548
+ });
12549
+ }
12550
+ };
12551
+ const updateRowDropTipContent = rowEl => {
12552
+ const {
12553
+ dragRow
12554
+ } = reactData;
12555
+ const dragOpts = computeDragOpts.value;
12556
+ const {
12557
+ tooltipMethod
12558
+ } = dragOpts;
12559
+ const rTooltipMethod = tooltipMethod;
12560
+ let tipContent = '';
12561
+ if (rTooltipMethod) {
12562
+ const rtParams = {
12563
+ $list: $xeList,
12564
+ row: dragRow
12565
+ };
12566
+ tipContent = `${rTooltipMethod(rtParams) || ''}`;
12567
+ } else {
12568
+ tipContent = getI18n('vxe.list.dragTip', [rowEl.textContent || '']);
12569
+ }
12570
+ reactData.dragTipText = tipContent;
12571
+ };
12572
+ const hideDropTip = () => {
12573
+ const rdTipEl = refDragTipElem.value;
12574
+ const rdLineEl = refDragRowLineElem.value;
12575
+ if (rdTipEl) {
12576
+ rdTipEl.style.display = '';
12577
+ }
12578
+ if (rdLineEl) {
12579
+ rdLineEl.style.display = '';
12580
+ }
12581
+ };
12582
+ const clearCrossListDragStatus = () => {
12583
+ // crossListDragRowObj = null
12584
+ crossListDragRowInfo.row = null;
12585
+ };
12586
+ const clearDragStatus = () => {
12587
+ const {
12588
+ dragRow
12589
+ } = reactData;
12590
+ if (dragRow) {
12591
+ hideDropTip();
12592
+ clearRowDropOrigin();
12593
+ clearCrossListDragStatus();
12594
+ reactData.dragRow = null;
12595
+ }
12596
+ };
12597
+ const handleRowDragMousedownEvent = (evnt, params) => {
12598
+ evnt.stopPropagation();
12599
+ const {
12600
+ row
12601
+ } = params;
12602
+ const dragConfig = computeDragOpts.value;
12603
+ const {
12604
+ trigger,
12605
+ dragStartMethod
12606
+ } = dragConfig;
12607
+ const dragEl = evnt.currentTarget;
12608
+ const rowEl = trigger === 'row' ? dragEl : dragEl.parentElement.parentElement;
12609
+ clearRowDropOrigin();
12610
+ if (dragStartMethod && !dragStartMethod(params)) {
12611
+ rowEl.draggable = false;
12612
+ reactData.dragRow = null;
12613
+ hideDropTip();
12614
+ return;
12615
+ }
12616
+ const dragstartEventParams = {
12617
+ row
12618
+ };
12619
+ reactData.dragRow = row;
12620
+ rowEl.draggable = true;
12621
+ updateRowDropOrigin(row);
12622
+ updateRowDropTipContent(rowEl);
12623
+ dispatchEvent('row-dragstart', dragstartEventParams, evnt);
12624
+ };
12625
+ const handleRowDragMouseupEvent = () => {
12626
+ clearDragStatus();
12627
+ };
12628
+ const showDropTip = (evnt, rowEl, showLine, dragPos) => {
12629
+ const wrapperEl = refElem.value;
12630
+ if (!wrapperEl) {
12631
+ return;
12632
+ }
12633
+ const wrapperRect = wrapperEl.getBoundingClientRect();
12634
+ const wrapperHeight = wrapperEl.clientHeight;
12635
+ if (rowEl) {
12636
+ const rdLineEl = refDragRowLineElem.value;
12637
+ if (rdLineEl) {
12638
+ if (showLine) {
12639
+ const trRect = rowEl.getBoundingClientRect();
12640
+ let rowHeight = rowEl.clientHeight;
12641
+ const offsetTop = Math.max(1, trRect.y - wrapperRect.y);
12642
+ if (offsetTop + rowHeight > wrapperHeight) {
12643
+ rowHeight = wrapperHeight - offsetTop;
12644
+ }
12645
+ rdLineEl.style.display = 'block';
12646
+ rdLineEl.style.top = `${offsetTop}px`;
12647
+ rdLineEl.style.height = `${rowHeight}px`;
12648
+ rdLineEl.setAttribute('drag-pos', dragPos);
12649
+ } else {
12650
+ rdLineEl.style.display = '';
12651
+ }
12652
+ }
12653
+ }
12654
+ const rdTipEl = refDragTipElem.value;
12655
+ if (rdTipEl) {
12656
+ rdTipEl.style.display = 'block';
12657
+ rdTipEl.style.top = `${Math.min(wrapperEl.clientHeight - wrapperEl.scrollTop - rdTipEl.clientHeight, evnt.clientY - wrapperRect.y)}px`;
12658
+ rdTipEl.style.left = `${Math.min(wrapperEl.clientWidth - wrapperEl.scrollLeft - rdTipEl.clientWidth - 1, evnt.clientX - wrapperRect.x)}px`;
12659
+ rdTipEl.setAttribute('drag-status', showLine ? 'normal' : 'disabled');
12660
+ }
12661
+ };
12662
+ const clearRowDragData = () => {
12663
+ const wrapperEl = refElem.value;
12664
+ const dtClss = ['.vxe-list--row'];
12665
+ hideDropTip();
12666
+ clearRowDropOrigin();
12667
+ clearRowAnimate(wrapperEl, dtClss);
12668
+ reactData.dragRow = null;
12669
+ };
12670
+ const handleRowDragSwapEvent = (evnt, dragRow, prevDragRow, prevDragPos) => {
12671
+ const {
12672
+ fullData
12673
+ } = internalData;
12674
+ const dragConfig = computeDragOpts.value;
12675
+ const {
12676
+ animation,
12677
+ dragEndMethod
12678
+ } = dragConfig;
12679
+ const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null);
12680
+ const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
12681
+ const el = refElem.value;
12682
+ const errRest = {
12683
+ status: false
12684
+ };
12685
+ if (!(el && prevDragRow && dragRow)) {
12686
+ return Promise.resolve(errRest);
12687
+ }
12688
+ // 判断是否有拖动
12689
+ if (prevDragRow !== dragRow) {
12690
+ const dragParams = {
12691
+ oldRow: dragRow,
12692
+ newRow: prevDragRow,
12693
+ dragRow,
12694
+ dragPos: prevDragPos,
12695
+ offsetIndex: dragOffsetIndex
12696
+ };
12697
+ const dragRowid = getRowId(dragRow);
12698
+ const _dragRowIndex = findRowIndexOfByKey(fullData, dragRowid);
12699
+ const newRowid = getRowKey(prevDragRow);
12700
+ let dragRowHeight = 0;
12701
+ let dragOffsetTop = -1;
12702
+ if (animation) {
12703
+ const prevRowEl = el.querySelector(`.vxe-list--row[rowid="${newRowid}"]`);
12704
+ const oldRowEl = el.querySelector(`.vxe-list--row[rowid="${dragRowid}"]`);
12705
+ const targetRowEl = prevRowEl || oldRowEl;
12706
+ if (targetRowEl) {
12707
+ dragRowHeight = targetRowEl.offsetHeight;
12708
+ }
12709
+ if (oldRowEl) {
12710
+ dragOffsetTop = oldRowEl.offsetTop;
12711
+ }
12712
+ }
12713
+ let oafIndex = -1;
12714
+ let nafIndex = -1;
12715
+ return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then(status => {
12716
+ if (!status) {
12717
+ return errRest;
12718
+ }
12719
+ // 移出
12720
+ oafIndex = findRowIndexOf(fullData, dragRow);
12721
+ fullData.splice(oafIndex, 1);
12722
+ // 插入
12723
+ const pafIndex = findRowIndexOf(fullData, prevDragRow);
12724
+ nafIndex = pafIndex + dragOffsetIndex;
12725
+ fullData.splice(nafIndex, 0, dragRow);
12726
+ handleData();
12727
+ if (reactData.scrollYLoad) {
12728
+ updateYSpace();
12729
+ }
12730
+ if (evnt) {
12731
+ const dragendEventParams = {
12732
+ oldRow: dragRow,
12733
+ newRow: prevDragRow,
12734
+ dragRow,
12735
+ dragPos: prevDragPos,
12736
+ offsetIndex: dragOffsetIndex,
12737
+ _index: {
12738
+ newIndex: nafIndex,
12739
+ oldIndex: oafIndex
12740
+ }
12741
+ };
12742
+ dispatchEvent('row-dragend', dragendEventParams, evnt);
12743
+ }
12744
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)().then(() => {
12745
+ if (animation) {
12746
+ const {
12747
+ rowList
12748
+ } = reactData;
12749
+ const {
12750
+ fullData
12751
+ } = internalData;
12752
+ const _newRowIndex = findRowIndexOfByKey(fullData, dragRowid);
12753
+ const firstRow = fullData[0];
12754
+ const _firstRowIndex = findRowIndexOf(fullData, firstRow);
12755
+ const wrapperEl = el;
12756
+ if (_firstRowIndex > -1) {
12757
+ const _lastRowIndex = _firstRowIndex + fullData.length;
12758
+ let rsIndex = -1;
12759
+ let reIndex = -1;
12760
+ let offsetRate = 1;
12761
+ if (_dragRowIndex < _firstRowIndex) {
12762
+ // 从上往下虚拟拖拽
12763
+ rsIndex = 0;
12764
+ reIndex = _newRowIndex - _firstRowIndex;
12765
+ } else if (_dragRowIndex > _lastRowIndex) {
12766
+ // 从下往上虚拟拖拽
12767
+ const $newRowIndex = findRowIndexOfByKey(rowList, dragRowid);
12768
+ rsIndex = $newRowIndex + 1;
12769
+ reIndex = fullData.length;
12770
+ offsetRate = -1;
12771
+ } else {
12772
+ if (_newRowIndex > _dragRowIndex) {
12773
+ // 从上往下拖拽
12774
+ rsIndex = _dragRowIndex - _firstRowIndex;
12775
+ reIndex = rsIndex + _newRowIndex - _dragRowIndex;
12776
+ } else {
12777
+ // 从下往上拖拽
12778
+ rsIndex = _newRowIndex - _firstRowIndex;
12779
+ reIndex = rsIndex + _dragRowIndex - _newRowIndex + 1;
12780
+ offsetRate = -1;
12781
+ }
12782
+ }
12783
+ const dragRangeList = fullData.slice(rsIndex, reIndex);
12784
+ if (dragRangeList.length) {
12785
+ const dtClss = [];
12786
+ dragRangeList.forEach(obj => {
12787
+ const rowid = getRowId(obj);
12788
+ dtClss.push(`.vxe-list--row[rowid="${rowid}"]`);
12789
+ });
12790
+ const dtTrList = wrapperEl.querySelectorAll(dtClss.join(','));
12791
+ moveRowAnimateToTb(dtTrList, offsetRate * dragRowHeight);
12792
+ }
12793
+ }
12794
+ const drClss = [`.vxe-list--row[rowid="${dragRowid}"]`];
12795
+ const newDtTrList = wrapperEl.querySelectorAll(drClss.join(','));
12796
+ const newTrEl = newDtTrList[0];
12797
+ if (dragOffsetTop > -1 && newTrEl) {
12798
+ moveRowAnimateToTb(newDtTrList, dragOffsetTop - newTrEl.offsetTop);
12799
+ }
12800
+ }
12801
+ recalculate();
12802
+ }).then(() => {
12803
+ return {
12804
+ status: true
12805
+ };
12806
+ });
12807
+ }).catch(() => {
12808
+ return errRest;
12809
+ }).then(rest => {
12810
+ clearRowDragData();
12811
+ clearCrossListDragStatus();
12812
+ return rest;
12813
+ });
12814
+ }
12815
+ clearRowDragData();
12816
+ clearCrossListDragStatus();
12817
+ return Promise.resolve(errRest);
12818
+ };
12819
+ const handleRowDragDragstartEvent = evnt => {
12820
+ if (evnt.dataTransfer) {
12821
+ evnt.dataTransfer.setDragImage(getTpImg(), 0, 0);
12822
+ }
12823
+ };
12824
+ const handleRowDragDragendEvent = evnt => {
12825
+ const {
12826
+ dragRow
12827
+ } = reactData;
12828
+ const {
12829
+ prevDragRow,
12830
+ prevDragPos
12831
+ } = internalData;
12832
+ handleRowDragSwapEvent(evnt, dragRow, prevDragRow, prevDragPos);
12833
+ };
12834
+ const handleRowDragDragoverEvent = evnt => {
12835
+ const {
12836
+ dragRow
12837
+ } = reactData;
12838
+ const {
12839
+ fullData
12840
+ } = internalData;
12841
+ if (!dragRow) {
12842
+ evnt.preventDefault();
12843
+ }
12844
+ const rowEl = evnt.currentTarget;
12845
+ const rowid = rowEl.getAttribute('rowid') || '';
12846
+ const row = findRowByKey(fullData, rowid);
12847
+ if (row) {
12848
+ evnt.preventDefault();
12849
+ const offsetY = evnt.clientY - rowEl.getBoundingClientRect().y;
12850
+ const dragPos = offsetY < rowEl.clientHeight / 2 ? 'top' : 'bottom';
12851
+ internalData.prevDragRow = row;
12852
+ internalData.prevDragPos = dragPos;
12853
+ if (dragRow && getRowId(dragRow) === rowid) {
12854
+ showDropTip(evnt, rowEl, false, dragPos);
12855
+ return;
12856
+ }
12857
+ const dragOffsetIndex = dragPos === 'bottom' ? 1 : 0;
12858
+ const offsetIndex = dragOffsetIndex;
12859
+ const dragoverEventParams = {
12860
+ oldRow: dragRow,
12861
+ targetRow: row,
12862
+ dragPos,
12863
+ dragRow,
12864
+ offsetIndex
12865
+ };
12866
+ showDropTip(evnt, rowEl, true, dragPos);
12867
+ dispatchEvent('row-dragover', dragoverEventParams, evnt);
12868
+ }
12869
+ };
12870
+ const handleRowMousedownEvent = (evnt, row) => {
12871
+ const dragConfig = computeDragOpts.value;
12872
+ const isDrag = computeIsDrag.value;
12873
+ const {
12874
+ trigger,
12875
+ disabledMethod
12876
+ } = dragConfig;
12877
+ let isRowDrag = false;
12878
+ if (isDrag) {
12879
+ isRowDrag = trigger === 'row';
12880
+ }
12881
+ const params = {
12882
+ row,
12883
+ $list: $xeList
12884
+ };
12885
+ if (isRowDrag && !(disabledMethod && disabledMethod(params))) {
12886
+ handleRowDragMousedownEvent(evnt, params);
12887
+ }
12888
+ };
12889
+ const handleRowClickEvent = (evnt, row) => {
12890
+ const {
12891
+ currentRow
12892
+ } = internalData;
12893
+ const rowOpts = computeRowOpts.value;
12894
+ const {
12895
+ isCurrent
12896
+ } = rowOpts;
12897
+ let triggerCurrent = false;
12898
+ if (isCurrent) {
12899
+ triggerCurrent = true;
12900
+ changeCurrentEvent(evnt, row);
12901
+ } else if (currentRow) {
12902
+ internalData.currentRow = null;
12903
+ reactData.currRowFlag++;
12904
+ }
12905
+ dispatchEvent('row-click', {
12906
+ row,
12907
+ triggerCurrent
12908
+ }, evnt);
12909
+ };
12910
+ const handleRowDblclickEvent = (evnt, row) => {
12911
+ dispatchEvent('row-dblclick', {
12912
+ row
12913
+ }, evnt);
12914
+ };
12915
+ const getRowKey = row => {
12916
+ const keyField = computeKeyField.value;
12917
+ return getRowKeyByField(row, keyField);
12918
+ };
12919
+ const eqRowKey = (rowKey1, rowKey2) => {
12920
+ return '' + rowKey1 === '' + rowKey2;
12921
+ };
12922
+ const eqRow = (row1, row2) => {
12923
+ if (row1 && row2) {
12924
+ if (row1 === row2) {
12925
+ return true;
12926
+ }
12927
+ return eqRowKey(getRowId(row1), getRowId(row2));
12928
+ }
12929
+ return false;
12930
+ };
12931
+ const eqRowByKey = (row, rowKey) => {
12932
+ return row && eqRowKey(getRowKey(row), rowKey);
12933
+ };
12934
+ const findRow = (list, row) => {
12935
+ return row ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find(list, obj => eqRow(obj, row)) : null;
12936
+ };
12937
+ const findRowByKey = (list, rowKey) => {
12938
+ const keyField = computeKeyField.value;
12939
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find(list, obj => eqRowKey(getRowIdByField(obj, keyField), rowKey));
12940
+ };
12941
+ const findRowIndexOf = (list, row) => {
12942
+ return row ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(list, obj => eqRow(obj, row)) : -1;
12943
+ };
12944
+ const findRowIndexOfByKey = (list, rowKey) => {
12945
+ const keyField = computeKeyField.value;
12946
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(list, obj => eqRowKey(getRowIdByField(obj, keyField), rowKey));
12947
+ };
12948
+ const isCheckedByRadioRowKey = rowKey => {
12949
+ const {
12950
+ selectRadioRow
12951
+ } = reactData;
12952
+ return getRowKey(selectRadioRow) === rowKey;
12953
+ };
12954
+ const isCheckedByRadioRow = row => {
12955
+ return isCheckedByRadioRowKey(getRowKey(row));
12956
+ };
12957
+ const isCheckedByCheckboxRowKey = rowid => {
12958
+ const {
12959
+ updateCheckboxFlag
12960
+ } = reactData;
12961
+ const {
12962
+ selectCheckboxMaps
12963
+ } = internalData;
12964
+ return !!(updateCheckboxFlag && selectCheckboxMaps[rowid]);
12965
+ };
12966
+ const isCheckedByCheckboxRow = row => {
12967
+ return isCheckedByCheckboxRowKey(getRowKey(row));
12968
+ };
12969
+ const setCurrentRow = row => {
12970
+ internalData.currentRow = row;
12971
+ reactData.currRowFlag++;
12972
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
12973
+ };
12974
+ const setCurrentRowByKey = rowKey => {
12975
+ const {
12976
+ fullData
12977
+ } = internalData;
12978
+ internalData.currentRow = findRowByKey(fullData, rowKey);
12979
+ reactData.currRowFlag++;
12980
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
12981
+ };
12982
+ const getCurrentRow = () => {
12983
+ const {
12984
+ currentRow
12985
+ } = internalData;
12986
+ return currentRow;
12987
+ };
12988
+ const getCurrentRowKey = () => {
12989
+ const {
12990
+ currentRow
12991
+ } = internalData;
12992
+ return currentRow ? getRowKey(currentRow) : null;
12993
+ };
12994
+ const clearCurrentRow = () => {
12995
+ internalData.currentRow = null;
12996
+ reactData.currRowFlag++;
12997
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
12998
+ };
12999
+ const setRadioRow = row => {
13000
+ reactData.selectRadioRow = row;
13001
+ const value = getRowKey(row);
13002
+ emitRadioMode(value);
13003
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
13004
+ };
13005
+ const setRadioRowByKey = rowKey => {
13006
+ const {
13007
+ fullData
13008
+ } = internalData;
13009
+ reactData.selectRadioRow = findRowByKey(fullData, rowKey);
13010
+ const value = rowKey;
13011
+ emitRadioMode(value);
13012
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
13013
+ };
13014
+ const getRadioRow = () => {
13015
+ const {
13016
+ selectRadioRow
13017
+ } = reactData;
13018
+ return selectRadioRow;
13019
+ };
13020
+ const getRadioRowKey = () => {
13021
+ const {
13022
+ selectRadioRow
13023
+ } = reactData;
13024
+ return selectRadioRow ? getRowKey(selectRadioRow) : null;
13025
+ };
13026
+ const clearRadioRow = () => {
13027
+ const value = null;
13028
+ reactData.selectRadioRow = value;
13029
+ emitRadioMode(value);
13030
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
13031
+ };
13032
+ const setCheckboxRow = (row, checked) => {
13033
+ const {
13034
+ selectCheckboxMaps
13035
+ } = internalData;
13036
+ const keyField = computeKeyField.value;
13037
+ const rowList = row ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(row) ? row : [row] : [];
13038
+ rowList.forEach(checked ? obj => {
13039
+ const rowid = getRowIdByField(obj, keyField);
13040
+ if (!selectCheckboxMaps[rowid]) {
13041
+ selectCheckboxMaps[rowid] = obj;
13042
+ }
13043
+ } : obj => {
13044
+ const rowid = getRowIdByField(obj, keyField);
13045
+ if (selectCheckboxMaps[rowid]) {
13046
+ delete selectCheckboxMaps[rowid];
13047
+ }
13048
+ });
13049
+ const value = getCheckboxRowKeys();
13050
+ emitCheckboxMode(value);
13051
+ return updateCheckboxStatus();
13052
+ };
13053
+ const setCheckboxRowByKey = (rowKey, checked) => {
13054
+ const {
13055
+ selectCheckboxMaps,
13056
+ fullKeyMaps
13057
+ } = internalData;
13058
+ const keyField = computeKeyField.value;
13059
+ const rowKeys = rowKey ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(rowKey) ? rowKey : [rowKey] : [];
13060
+ rowKeys.forEach(checked ? key => {
13061
+ const row = fullKeyMaps[key || ''];
13062
+ if (row) {
13063
+ const rowid = getRowIdByField(row, keyField);
13064
+ if (row && !selectCheckboxMaps[rowid]) {
13065
+ selectCheckboxMaps[rowid] = row;
13066
+ }
13067
+ }
13068
+ } : key => {
13069
+ const row = fullKeyMaps[key || ''];
13070
+ if (row) {
13071
+ const rowid = getRowIdByField(row, keyField);
13072
+ if (selectCheckboxMaps[rowid]) {
13073
+ delete selectCheckboxMaps[rowid];
13074
+ }
13075
+ }
13076
+ });
13077
+ const value = getCheckboxRowKeys();
13078
+ emitCheckboxMode(value);
13079
+ return updateCheckboxStatus();
13080
+ };
13081
+ const getCheckboxRows = () => {
13082
+ const {
13083
+ updateCheckboxFlag
13084
+ } = reactData;
13085
+ const {
13086
+ selectCheckboxMaps
13087
+ } = internalData;
13088
+ const rowList = [];
13089
+ if (updateCheckboxFlag) {
13090
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, row => {
13091
+ if (row) {
13092
+ rowList.push(row);
13093
+ }
13094
+ });
13095
+ }
13096
+ return rowList;
13097
+ };
13098
+ const getCheckboxRowKeys = () => {
13099
+ const {
13100
+ updateCheckboxFlag
13101
+ } = reactData;
13102
+ const {
13103
+ selectCheckboxMaps
13104
+ } = internalData;
13105
+ const keyField = computeKeyField.value;
13106
+ const rowKeys = [];
13107
+ if (updateCheckboxFlag) {
13108
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, row => {
13109
+ if (row) {
13110
+ const rowKey = getRowKeyByField(row, keyField);
13111
+ rowKeys.push(rowKey);
13112
+ }
13113
+ });
13114
+ }
13115
+ return rowKeys;
13116
+ };
13117
+ const clearCheckboxRow = () => {
13118
+ internalData.selectCheckboxMaps = {};
13119
+ reactData.updateCheckboxFlag++;
13120
+ reactData.isAllChecked = false;
13121
+ reactData.isAllIndeterminate = false;
13122
+ const value = [];
13123
+ emitCheckboxMode(value);
13124
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
13125
+ };
13126
+ const setAllCheckboxRow = checked => {
13127
+ const {
13128
+ fullData,
13129
+ selectCheckboxMaps
13130
+ } = internalData;
13131
+ const keyField = computeKeyField.value;
13132
+ if (checked) {
13133
+ const value = [];
13134
+ for (const row of fullData) {
13135
+ const rowKey = getRowKeyByField(row, keyField);
13136
+ const rowid = getRowIdByField(row, keyField);
13137
+ selectCheckboxMaps[rowid] = row;
13138
+ value.push(rowKey);
13139
+ }
13140
+ emitCheckboxMode(value);
13141
+ return updateCheckboxStatus();
13142
+ }
13143
+ return clearCheckboxRow();
13144
+ };
13145
+ const updateCheckboxStatus = () => {
13146
+ const {
13147
+ selectCheckboxMaps,
13148
+ fullData
13149
+ } = internalData;
13150
+ const keyField = computeKeyField.value;
13151
+ const checkboxOpts = computeCheckboxOpts.value;
13152
+ const {
13153
+ checkMethod
13154
+ } = checkboxOpts;
13155
+ let hasChecked = false;
13156
+ let hasUnchecked = false;
13157
+ if (checkMethod) {
13158
+ for (const row of fullData) {
13159
+ if (checkMethod({
13160
+ row,
13161
+ $list: $xeList
13162
+ })) {
13163
+ const rowid = getRowIdByField(row, keyField);
13164
+ if (selectCheckboxMaps[rowid]) {
13165
+ hasChecked = true;
13166
+ } else {
13167
+ hasUnchecked = true;
13168
+ if (hasChecked) {
13169
+ break;
13170
+ }
13171
+ }
13172
+ }
13173
+ }
13174
+ } else {
13175
+ for (const row of fullData) {
13176
+ const rowid = getRowIdByField(row, keyField);
13177
+ if (selectCheckboxMaps[rowid]) {
13178
+ hasChecked = true;
13179
+ } else {
13180
+ hasUnchecked = true;
13181
+ if (hasChecked) {
13182
+ break;
13183
+ }
13184
+ }
13185
+ }
13186
+ }
13187
+ reactData.isAllChecked = hasChecked && !hasUnchecked;
13188
+ reactData.isAllIndeterminate = hasChecked && hasUnchecked;
13189
+ reactData.updateCheckboxFlag++;
13190
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
13191
+ };
13192
+ const changeCheckboxAllEvent = evnt => {
13193
+ const {
13194
+ isAllChecked
13195
+ } = reactData;
13196
+ const isChecked = !isAllChecked;
13197
+ if (isChecked) {
13198
+ setAllCheckboxRow(true);
13199
+ } else {
13200
+ clearCheckboxRow();
13201
+ }
13202
+ dispatchEvent('checkbox-all', {
13203
+ checked: isChecked
13204
+ }, evnt);
13205
+ };
13206
+ const changeCheckboxEvent = (evnt, row) => {
13207
+ evnt.preventDefault();
13208
+ evnt.stopPropagation();
13209
+ const {
13210
+ selectCheckboxMaps
13211
+ } = internalData;
13212
+ const checkboxOpts = computeCheckboxOpts.value;
13213
+ const {
13214
+ checkMethod
13215
+ } = checkboxOpts;
13216
+ const rowid = getRowId(row);
13217
+ const isDisabled = checkMethod ? !checkMethod({
13218
+ $list: $xeList,
13219
+ row
13220
+ }) : false;
13221
+ if (isDisabled) {
13222
+ return;
13223
+ }
13224
+ let isChecked = false;
13225
+ if (selectCheckboxMaps[rowid]) {
13226
+ delete selectCheckboxMaps[rowid];
13227
+ } else {
13228
+ isChecked = true;
13229
+ selectCheckboxMaps[rowid] = row;
13230
+ }
13231
+ reactData.updateCheckboxFlag++;
13232
+ updateCheckboxStatus();
13233
+ const rowids = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(selectCheckboxMaps);
13234
+ const value = rowids.map(deModelValue);
13235
+ emitCheckboxMode(value);
13236
+ dispatchEvent('checkbox-change', {
13237
+ row,
13238
+ value,
13239
+ checked: isChecked
13240
+ }, evnt);
13241
+ };
13242
+ const changeCurrentEvent = (evnt, row) => {
13243
+ evnt.preventDefault();
13244
+ const rowOpts = computeRowOpts.value;
13245
+ const {
13246
+ currentMethod
13247
+ } = rowOpts;
13248
+ let isDisabled = false;
13249
+ if (currentMethod) {
13250
+ isDisabled = !currentMethod({
13251
+ row
13252
+ });
13253
+ }
13254
+ if (isDisabled) {
13255
+ return;
13256
+ }
13257
+ const isChecked = true;
13258
+ internalData.currentRow = row;
13259
+ reactData.currRowFlag++;
13260
+ dispatchEvent('current-change', {
13261
+ row,
13262
+ checked: isChecked
13263
+ }, evnt);
13264
+ };
13265
+ const changeRadioEvent = (evnt, row) => {
13266
+ evnt.preventDefault();
13267
+ evnt.stopPropagation();
13268
+ const {
13269
+ selectRadioRow
13270
+ } = reactData;
13271
+ const radioOpts = computeRadioOpts.value;
13272
+ const {
13273
+ strict,
13274
+ checkMethod
13275
+ } = radioOpts;
13276
+ const rowKey = getRowKey(row);
13277
+ const isDisabled = checkMethod ? !checkMethod({
13278
+ $list: $xeList,
13279
+ row
13280
+ }) : false;
13281
+ if (isDisabled) {
13282
+ return;
13283
+ }
13284
+ const value = rowKey;
13285
+ let isChecked = true;
13286
+ if (strict) {
13287
+ if (selectRadioRow && rowKey === getRowKey(selectRadioRow)) {
13288
+ isChecked = false;
13289
+ reactData.selectRadioRow = null;
13290
+ } else {
13291
+ reactData.selectRadioRow = row;
13292
+ }
13293
+ } else {
13294
+ reactData.selectRadioRow = row;
13295
+ }
13296
+ emitRadioMode(value);
13297
+ dispatchEvent('radio-change', {
13298
+ row,
13299
+ value,
13300
+ checked: isChecked
13301
+ }, evnt);
13302
+ };
12264
13303
  const listMethods = {
12265
13304
  dispatchEvent,
12266
13305
  loadData,
@@ -12272,37 +13311,332 @@ function list_createInternalData() {
12272
13311
  clearScroll();
12273
13312
  return loadData(datas);
12274
13313
  },
13314
+ getFullData() {
13315
+ const {
13316
+ fullData
13317
+ } = internalData;
13318
+ return fullData;
13319
+ },
12275
13320
  recalculate,
12276
13321
  scrollTo,
12277
13322
  refreshScroll,
12278
- clearScroll
13323
+ clearScroll,
13324
+ getRowKey,
13325
+ eqRowKey,
13326
+ eqRow,
13327
+ eqRowByKey,
13328
+ findRow,
13329
+ findRowByKey,
13330
+ findRowIndexOf,
13331
+ findRowIndexOfByKey,
13332
+ isCheckedByRadioRowKey,
13333
+ isCheckedByRadioRow,
13334
+ isCheckedByCheckboxRowKey,
13335
+ isCheckedByCheckboxRow,
13336
+ setCurrentRow,
13337
+ setCurrentRowByKey,
13338
+ getCurrentRow,
13339
+ getCurrentRowKey,
13340
+ clearCurrentRow,
13341
+ setRadioRow,
13342
+ setRadioRowByKey,
13343
+ getRadioRow,
13344
+ getRadioRowKey,
13345
+ clearRadioRow,
13346
+ setCheckboxRow,
13347
+ setCheckboxRowByKey,
13348
+ getCheckboxRows,
13349
+ getCheckboxRowKeys,
13350
+ clearCheckboxRow,
13351
+ setAllCheckboxRow
13352
+ };
13353
+ const listPrivateMethods = {};
13354
+ Object.assign($xeList, listMethods, listPrivateMethods);
13355
+ const renderDragTip = () => {
13356
+ const {
13357
+ dragRow,
13358
+ dragTipText
13359
+ } = reactData;
13360
+ const dragOpts = computeDragOpts.value;
13361
+ const isDrag = computeIsDrag.value;
13362
+ const dRow = dragRow;
13363
+ if (isDrag) {
13364
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13365
+ class: 'vxe-list--drag-wrapper'
13366
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13367
+ ref: refDragRowLineElem,
13368
+ class: ['vxe-list--drag-row-line', {
13369
+ 'is--guides': dragOpts.showGuidesStatus
13370
+ }]
13371
+ }), dRow && dragOpts.showDragTip ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13372
+ ref: refDragTipElem,
13373
+ class: 'vxe-list--drag-sort-tip'
13374
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13375
+ class: 'vxe-list--drag-sort-tip-wrapper'
13376
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13377
+ class: 'vxe-list--drag-sort-tip-status'
13378
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
13379
+ class: ['vxe-list--drag-sort-tip-normal-status', getIcon().LIST_DRAG_STATUS_NODE]
13380
+ }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
13381
+ class: ['vxe-list--drag-sort-tip-disabled-status', getIcon().LIST_DRAG_DISABLED]
13382
+ })]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13383
+ class: 'vxe-list--drag-sort-tip-content'
13384
+ }, dragTipText)])]) : renderEmptyElement($xeList)]);
13385
+ }
13386
+ return renderEmptyElement($xeList);
13387
+ };
13388
+ const renderRadio = (row, rowid, isChecked) => {
13389
+ const {
13390
+ showRadio
13391
+ } = props;
13392
+ const radioOpts = computeRadioOpts.value;
13393
+ const {
13394
+ showIcon,
13395
+ checkMethod,
13396
+ visibleMethod
13397
+ } = radioOpts;
13398
+ const isVisible = !visibleMethod || visibleMethod({
13399
+ $list: $xeList,
13400
+ row
13401
+ });
13402
+ if (showRadio && showIcon && isVisible) {
13403
+ const isDisabled = checkMethod ? !checkMethod({
13404
+ $list: $xeList,
13405
+ row
13406
+ }) : false;
13407
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13408
+ key: 'ct2',
13409
+ class: ['vxe-list--radio-option', {
13410
+ 'is--checked': isChecked,
13411
+ 'is--disabled': isDisabled
13412
+ }],
13413
+ onClick(evnt) {
13414
+ if (!isDisabled) {
13415
+ changeRadioEvent(evnt, row);
13416
+ }
13417
+ }
13418
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
13419
+ class: ['vxe-radio--icon', isChecked ? getIcon().RADIO_CHECKED : getIcon().RADIO_UNCHECKED]
13420
+ })]);
13421
+ }
13422
+ return renderEmptyElement($xeList);
13423
+ };
13424
+ const renderCheckbox = (row, rowid, isChecked) => {
13425
+ const {
13426
+ showCheckbox
13427
+ } = props;
13428
+ const checkboxOpts = computeCheckboxOpts.value;
13429
+ const {
13430
+ showIcon,
13431
+ checkMethod,
13432
+ visibleMethod
13433
+ } = checkboxOpts;
13434
+ const isVisible = !visibleMethod || visibleMethod({
13435
+ $list: $xeList,
13436
+ row
13437
+ });
13438
+ if (showCheckbox && showIcon && isVisible) {
13439
+ const isDisabled = checkMethod ? !checkMethod({
13440
+ $list: $xeList,
13441
+ row
13442
+ }) : false;
13443
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13444
+ key: 'ct3',
13445
+ class: ['vxe-list--checkbox-option', {
13446
+ 'is--checked': isChecked,
13447
+ 'is--disabled': isDisabled
13448
+ }],
13449
+ onClick(evnt) {
13450
+ if (!isDisabled) {
13451
+ changeCheckboxEvent(evnt, row);
13452
+ }
13453
+ }
13454
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
13455
+ class: ['vxe-checkbox--icon', isChecked ? getIcon().CHECKBOX_CHECKED : getIcon().CHECKBOX_UNCHECKED]
13456
+ })]);
13457
+ }
13458
+ return renderEmptyElement($xeList);
13459
+ };
13460
+ const renderRow = (row, rowIndex) => {
13461
+ const {
13462
+ showRadio,
13463
+ showCheckbox
13464
+ } = props;
13465
+ const {
13466
+ selectRadioRow,
13467
+ currRowFlag,
13468
+ updateCheckboxFlag
13469
+ } = reactData;
13470
+ const {
13471
+ selectCheckboxMaps,
13472
+ currentRow
13473
+ } = internalData;
13474
+ const contentSlot = slots.content;
13475
+ const dragOpts = computeDragOpts.value;
13476
+ const {
13477
+ trigger,
13478
+ icon,
13479
+ disabledMethod,
13480
+ visibleMethod
13481
+ } = dragOpts;
13482
+ const rowOpts = computeRowOpts.value;
13483
+ const {
13484
+ useKey,
13485
+ contentField,
13486
+ className: rowClassName,
13487
+ isCurrent
13488
+ } = rowOpts;
13489
+ const isDrag = computeIsDrag.value;
13490
+ const keyField = computeKeyField.value;
13491
+ const isRowFnCls = rowClassName && external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(rowClassName);
13492
+ const hasKey = keyField || useKey || isDrag || isCurrent || showRadio || showCheckbox;
13493
+ const rowKey = hasKey && keyField ? getRowIdByField(row, keyField) : '';
13494
+ const rowid = enModelValue(rowKey);
13495
+ const rowParams = {
13496
+ row,
13497
+ $list: $xeList
13498
+ };
13499
+ let isRadioChecked = false;
13500
+ if (showRadio) {
13501
+ isRadioChecked = selectRadioRow && (row === selectRadioRow || eqRowByKey(selectRadioRow, rowKey));
13502
+ }
13503
+ let isCheckboxChecked = false;
13504
+ if (showCheckbox) {
13505
+ isCheckboxChecked = !!(updateCheckboxFlag && selectCheckboxMaps[rowid]);
13506
+ }
13507
+ const ctVNs = [];
13508
+ let isDragDisabled = false;
13509
+ if (isDrag && keyField && (!visibleMethod || visibleMethod(rowParams))) {
13510
+ const handleOns = {};
13511
+ if (trigger !== 'row') {
13512
+ isDragDisabled = !!(disabledMethod && disabledMethod(rowParams));
13513
+ handleOns.onMousedown = evnt => {
13514
+ if (!isDragDisabled) {
13515
+ handleRowDragMousedownEvent(evnt, rowParams);
13516
+ }
13517
+ };
13518
+ handleOns.onMouseup = handleRowDragMouseupEvent;
13519
+ }
13520
+ ctVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13521
+ key: 'ct1',
13522
+ class: 'vxe-list--row-drag'
13523
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
13524
+ class: 'vxe-list--drag-handle',
13525
+ ...handleOns
13526
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('i', {
13527
+ class: icon || getIcon().LIST_DRAG
13528
+ })])]));
13529
+ }
13530
+ if (showRadio) {
13531
+ ctVNs.push(renderRadio(row, rowid, isRadioChecked));
13532
+ }
13533
+ if (showCheckbox) {
13534
+ ctVNs.push(renderCheckbox(row, rowid, isCheckboxChecked));
13535
+ }
13536
+ ctVNs.push((0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13537
+ key: 'ct5',
13538
+ class: 'vxe-list--row-content'
13539
+ }, contentSlot ? contentSlot(rowParams) : contentField ? getText(row[contentField]) : ''));
13540
+ const rowOns = {
13541
+ onMousedown(evnt) {
13542
+ handleRowMousedownEvent(evnt, row);
13543
+ },
13544
+ onMouseup: handleRowDragMouseupEvent,
13545
+ onClick(evnt) {
13546
+ handleRowClickEvent(evnt, row);
13547
+ },
13548
+ onDblclick(evnt) {
13549
+ handleRowDblclickEvent(evnt, row);
13550
+ }
13551
+ };
13552
+ // 拖拽行事件
13553
+ if (isDrag) {
13554
+ rowOns.onDragstart = handleRowDragDragstartEvent;
13555
+ rowOns.onDragend = handleRowDragDragendEvent;
13556
+ rowOns.onDragover = handleRowDragDragoverEvent;
13557
+ }
13558
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13559
+ key: hasKey && keyField ? rowid : rowIndex,
13560
+ class: ['vxe-list--row', isRowFnCls ? rowClassName(rowParams) : rowClassName || '', {
13561
+ 'is--drag-disabled': isDragDisabled,
13562
+ 'is--current': currRowFlag && currentRow && eqRowByKey(currentRow, rowKey),
13563
+ 'is-radio--checked': isRadioChecked,
13564
+ 'is-checkbox--checked': isCheckboxChecked
13565
+ }],
13566
+ rowid: hasKey && keyField ? rowid : undefined,
13567
+ ...rowOns
13568
+ }, ctVNs);
12279
13569
  };
12280
- Object.assign($xeList, listMethods);
12281
13570
  const renderVN = () => {
12282
13571
  const {
13572
+ showCheckbox,
12283
13573
  className,
12284
13574
  loading
12285
13575
  } = props;
12286
13576
  const {
12287
13577
  bodyHeight,
12288
13578
  topSpaceHeight,
12289
- items
13579
+ rowList,
13580
+ isAllChecked,
13581
+ isAllIndeterminate
12290
13582
  } = reactData;
12291
13583
  const defaultSlot = slots.default;
13584
+ const headerSlot = slots.header;
13585
+ const footerSlot = slots.footer;
12292
13586
  const vSize = computeSize.value;
12293
- const styles = computeStyles.value;
13587
+ const wrapperStyles = computeWrapperStyles.value;
13588
+ const virtualStyles = computeVirtualStyles.value;
13589
+ const radioOpts = computeRadioOpts.value;
13590
+ const checkboxOpts = computeCheckboxOpts.value;
13591
+ const {
13592
+ showHeader,
13593
+ headerTitle
13594
+ } = checkboxOpts;
13595
+ const dragOpts = computeDragOpts.value;
13596
+ const {
13597
+ trigger
13598
+ } = dragOpts;
13599
+ const rowOpts = computeRowOpts.value;
13600
+ const {
13601
+ isHover,
13602
+ padding
13603
+ } = rowOpts;
13604
+ const isDrag = computeIsDrag.value;
13605
+ const showDefChekboxHead = showCheckbox && showHeader !== false;
12294
13606
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12295
13607
  ref: refElem,
12296
13608
  class: ['vxe-list', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
12297
13609
  $list: $xeList
12298
13610
  }) : className : '', {
12299
13611
  [`size--${vSize}`]: vSize,
13612
+ 'is--drag': isDrag,
12300
13613
  'is--loading': loading
12301
- }]
13614
+ }],
13615
+ style: wrapperStyles
13616
+ }, [headerSlot || showDefChekboxHead ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13617
+ ref: refHeaderElem,
13618
+ class: 'vxe-list--header-wrapper'
13619
+ }, [showDefChekboxHead ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13620
+ class: 'vxe-list--header-left'
12302
13621
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13622
+ class: ['vxe-list--checkbox-header', {
13623
+ 'is--checked': isAllChecked,
13624
+ 'is--indeterminate': isAllIndeterminate
13625
+ }],
13626
+ onClick: changeCheckboxAllEvent
13627
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
13628
+ class: ['vxe-checkbox--icon', isAllChecked ? getIcon().CHECKBOX_CHECKED : isAllIndeterminate ? getIcon().CHECKBOX_INDETERMINATE : getIcon().CHECKBOX_UNCHECKED]
13629
+ }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('span', {
13630
+ class: 'vxe-checkbox--label'
13631
+ }, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(headerTitle) ? getI18n('vxe.list.allChecked') : getText(headerTitle))])]) : renderEmptyElement($xeList), headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13632
+ class: 'vxe-list--header-content'
13633
+ }, headerSlot({
13634
+ items: rowList,
13635
+ $list: $xeList
13636
+ })) : renderEmptyElement($xeList)]) : renderEmptyElement($xeList), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12303
13637
  ref: refVirtualWrapper,
12304
13638
  class: 'vxe-list--virtual-wrapper',
12305
- style: styles,
13639
+ style: virtualStyles,
12306
13640
  onScroll: scrollEvent
12307
13641
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12308
13642
  class: 'vxe-list--y-space',
@@ -12311,14 +13645,30 @@ function list_createInternalData() {
12311
13645
  }
12312
13646
  }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12313
13647
  ref: refVirtualBody,
12314
- class: 'vxe-list--body',
13648
+ class: ['vxe-list--body', {
13649
+ 'trigger--row': trigger === 'row',
13650
+ 'checkbox--highlight': checkboxOpts.highlight,
13651
+ 'radio--highlight': radioOpts.highlight,
13652
+ 'row--hover': isHover,
13653
+ 'is--padding': padding
13654
+ }],
12315
13655
  style: {
12316
13656
  marginTop: topSpaceHeight ? `${topSpaceHeight}px` : ''
12317
13657
  }
12318
13658
  }, defaultSlot ? defaultSlot({
12319
- items,
13659
+ items: rowList,
12320
13660
  $list: $xeList
12321
- }) : [])]),
13661
+ }) : rowList.map((row, i) => renderRow(row, i)))]), footerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
13662
+ ref: refFooterElem,
13663
+ class: 'vxe-list--footer-wrapper'
13664
+ }, footerSlot({
13665
+ items: rowList,
13666
+ $list: $xeList
13667
+ })) : renderEmptyElement($xeList),
13668
+ /**
13669
+ * 拖拽提示
13670
+ */
13671
+ renderDragTip(),
12322
13672
  /**
12323
13673
  * 加载中
12324
13674
  */
@@ -12337,17 +13687,36 @@ function list_createInternalData() {
12337
13687
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(dataFlag, () => {
12338
13688
  loadData(props.data || []);
12339
13689
  });
13690
+ const reFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
12340
13691
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.height, () => {
12341
- recalculate();
13692
+ reFlag.value++;
12342
13693
  });
12343
13694
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.maxHeight, () => {
12344
- recalculate();
13695
+ reFlag.value++;
12345
13696
  });
12346
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.syncResize, value => {
12347
- if (value) {
13697
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.syncResize, () => {
13698
+ reFlag.value++;
13699
+ });
13700
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeRowHeight, () => {
13701
+ reFlag.value++;
13702
+ });
13703
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reFlag, () => {
13704
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
12348
13705
  recalculate();
12349
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => setTimeout(() => recalculate()));
12350
- }
13706
+ });
13707
+ });
13708
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.checkRowKey, () => {
13709
+ updateRadioModeValue();
13710
+ });
13711
+ const checkKeyFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
13712
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.checkRowKeys ? props.checkRowKeys.length : -1, () => {
13713
+ checkKeyFlag.value++;
13714
+ });
13715
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.checkRowKeys, () => {
13716
+ checkKeyFlag.value++;
13717
+ });
13718
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(checkKeyFlag, () => {
13719
+ updateCheckboxModeValue();
12351
13720
  });
12352
13721
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onActivated)(() => {
12353
13722
  recalculate().then(() => refreshScroll());
@@ -12356,7 +13725,30 @@ function list_createInternalData() {
12356
13725
  loadData(props.data || []);
12357
13726
  });
12358
13727
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
12359
- recalculate();
13728
+ const {
13729
+ showRadio,
13730
+ showCheckbox
13731
+ } = props;
13732
+ const rowOpts = computeRowOpts.value;
13733
+ const {
13734
+ useKey
13735
+ } = rowOpts;
13736
+ const isDrag = computeIsDrag.value;
13737
+ const keyField = computeKeyField.value;
13738
+ if (!keyField) {
13739
+ if (showRadio) {
13740
+ list_errLog('vxe.error.reqSupportProp', ['show-radio', 'row-config.keyField']);
13741
+ }
13742
+ if (showCheckbox) {
13743
+ list_errLog('vxe.error.reqSupportProp', ['show-checkbox', 'row-config.keyField']);
13744
+ }
13745
+ if (isDrag) {
13746
+ list_errLog('vxe.error.reqSupportProp', ['drag-config', 'row-config.keyField']);
13747
+ }
13748
+ }
13749
+ if (useKey && !keyField) {
13750
+ list_errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
13751
+ }
12360
13752
  if (props.autoResize) {
12361
13753
  const el = refElem.value;
12362
13754
  const resizeObserver = globalResize.create(() => recalculate());
@@ -12366,6 +13758,7 @@ function list_createInternalData() {
12366
13758
  }
12367
13759
  internalData.resizeObserver = resizeObserver;
12368
13760
  }
13761
+ recalculate();
12369
13762
  globalEvents.on($xeList, 'resize', recalculate);
12370
13763
  });
12371
13764
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
@@ -18005,19 +19398,19 @@ const Col = VxeCol;
18005
19398
 
18006
19399
 
18007
19400
 
18008
-
18009
-
18010
19401
  function collapse_createReactData() {
18011
19402
  return {
18012
19403
  staticPanes: [],
18013
- activeNames: [],
18014
- initNames: [],
18015
- cachePaneMaps: {}
19404
+ cachePaneMaps: {},
19405
+ activeKeyFlag: 0,
19406
+ openKeyFlag: 0
18016
19407
  };
18017
19408
  }
18018
19409
  function collapse_createInternalData() {
18019
19410
  return {
18020
- // esTime: null
19411
+ // esTime: null,
19412
+ activeKeyMaps: {},
19413
+ openKeyMaps: {}
18021
19414
  };
18022
19415
  }
18023
19416
  /* harmony default export */ var collapse = (defineVxeComponent({
@@ -18080,6 +19473,17 @@ function collapse_createInternalData() {
18080
19473
  getRefMaps: () => refMaps,
18081
19474
  getComputeMaps: () => computeMaps
18082
19475
  };
19476
+ const dispatchEvent = (type, params, evnt) => {
19477
+ emit(type, createEvent(evnt, {
19478
+ $collapse: $xeCollapse
19479
+ }, params));
19480
+ };
19481
+ const collapseMethods = {
19482
+ dispatchEvent
19483
+ };
19484
+ const emitModel = value => {
19485
+ emit('update:modelValue', value);
19486
+ };
18083
19487
  const handleFilterItem = item => {
18084
19488
  const {
18085
19489
  permissionCode
@@ -18091,12 +19495,32 @@ function collapse_createInternalData() {
18091
19495
  }
18092
19496
  return true;
18093
19497
  };
18094
- const addInitName = name => {
19498
+ const updateModel = () => {
18095
19499
  const {
18096
- initNames
18097
- } = reactData;
18098
- if (name && !initNames.includes(name)) {
18099
- initNames.push(name);
19500
+ modelValue
19501
+ } = props;
19502
+ const {
19503
+ openKeyMaps
19504
+ } = internalData;
19505
+ const activeMaps = {};
19506
+ if (modelValue) {
19507
+ modelValue.forEach(name => {
19508
+ if (!openKeyMaps[name]) {
19509
+ openKeyMaps[name] = true;
19510
+ }
19511
+ activeMaps[name] = true;
19512
+ });
19513
+ }
19514
+ internalData.activeKeyMaps = activeMaps;
19515
+ reactData.activeKeyFlag++;
19516
+ reactData.openKeyFlag++;
19517
+ };
19518
+ const handleOpen = name => {
19519
+ const {
19520
+ openKeyMaps
19521
+ } = internalData;
19522
+ if (name && !openKeyMaps[name]) {
19523
+ openKeyMaps[name] = true;
18100
19524
  dispatchEvent('load', {
18101
19525
  name
18102
19526
  }, null);
@@ -18106,8 +19530,8 @@ function collapse_createInternalData() {
18106
19530
  };
18107
19531
  const initDefaultName = list => {
18108
19532
  const {
18109
- activeNames
18110
- } = reactData;
19533
+ activeKeyMaps
19534
+ } = internalData;
18111
19535
  const nameMaps = {};
18112
19536
  if (list && list.length) {
18113
19537
  list.forEach(item => {
@@ -18116,32 +19540,19 @@ function collapse_createInternalData() {
18116
19540
  preload
18117
19541
  } = item || {};
18118
19542
  if (name) {
18119
- const isActive = activeNames.includes(name);
18120
- nameMaps[`${name}`] = {
19543
+ const isActive = activeKeyMaps[name];
19544
+ nameMaps[name] = {
18121
19545
  height: 0,
18122
19546
  loading: false
18123
19547
  };
18124
- if (isActive) {
18125
- addInitName(name);
18126
- }
18127
- if (preload) {
18128
- if (!isActive) {
18129
- activeNames.push(name);
18130
- }
19548
+ if (isActive || preload) {
19549
+ handleOpen(name);
18131
19550
  }
18132
19551
  }
18133
19552
  });
18134
19553
  }
18135
- reactData.activeNames = activeNames ? activeNames.slice(0) : [];
18136
19554
  reactData.cachePaneMaps = nameMaps;
18137
- };
18138
- const dispatchEvent = (type, params, evnt) => {
18139
- emit(type, createEvent(evnt, {
18140
- $collapse: $xeCollapse
18141
- }, params));
18142
- };
18143
- const collapseMethods = {
18144
- dispatchEvent
19555
+ reactData.openKeyFlag++;
18145
19556
  };
18146
19557
  const callSlot = (slotFunc, params) => {
18147
19558
  if (slotFunc) {
@@ -18155,12 +19566,16 @@ function collapse_createInternalData() {
18155
19566
  return [];
18156
19567
  };
18157
19568
  const handleClickEvent = (evnt, item) => {
18158
- const {
18159
- activeNames
18160
- } = reactData;
19569
+ let {
19570
+ activeKeyMaps
19571
+ } = internalData;
18161
19572
  const {
18162
19573
  esTime
18163
19574
  } = internalData;
19575
+ const expandOpts = computeExpandOpts.value;
19576
+ const {
19577
+ accordion
19578
+ } = expandOpts;
18164
19579
  const {
18165
19580
  name
18166
19581
  } = item;
@@ -18170,13 +19585,15 @@ function collapse_createInternalData() {
18170
19585
  if (name) {
18171
19586
  const headEl = evnt.currentTarget;
18172
19587
  const bodyEl = headEl.nextElementSibling;
18173
- const aIndex = activeNames.indexOf(name);
18174
19588
  let expanded = false;
18175
- if (aIndex === -1) {
18176
- expanded = true;
18177
- activeNames.push(name);
19589
+ if (activeKeyMaps[name]) {
19590
+ delete activeKeyMaps[name];
18178
19591
  } else {
18179
- activeNames.splice(aIndex, 1);
19592
+ if (accordion) {
19593
+ activeKeyMaps = {};
19594
+ }
19595
+ expanded = true;
19596
+ activeKeyMaps[name] = true;
18180
19597
  }
18181
19598
  const startAnimation = () => {
18182
19599
  const itemEl = bodyEl.firstElementChild;
@@ -18196,6 +19613,11 @@ function collapse_createInternalData() {
18196
19613
  }
18197
19614
  }
18198
19615
  };
19616
+ const value = Object.keys(activeKeyMaps);
19617
+ internalData.activeKeyMaps = activeKeyMaps;
19618
+ handleOpen(name);
19619
+ reactData.activeKeyFlag++;
19620
+ reactData.openKeyFlag++;
18199
19621
  if (bodyEl) {
18200
19622
  const itemEl = bodyEl.firstElementChild;
18201
19623
  if (itemEl) {
@@ -18205,13 +19627,13 @@ function collapse_createInternalData() {
18205
19627
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(startAnimation);
18206
19628
  }
18207
19629
  }
18208
- addInitName(name);
19630
+ emitModel(value);
18209
19631
  dispatchEvent('change', {
18210
- value: activeNames,
19632
+ value,
18211
19633
  name
18212
19634
  }, evnt);
18213
19635
  dispatchEvent('toggle-expand', {
18214
- value: activeNames,
19636
+ value,
18215
19637
  name,
18216
19638
  expanded
18217
19639
  }, evnt);
@@ -18221,9 +19643,13 @@ function collapse_createInternalData() {
18221
19643
  Object.assign($xeCollapse, collapseMethods, collapsePrivateMethods);
18222
19644
  const renderList = itemList => {
18223
19645
  const {
18224
- activeNames,
18225
- initNames
19646
+ activeKeyFlag,
19647
+ openKeyFlag
18226
19648
  } = reactData;
19649
+ const {
19650
+ activeKeyMaps,
19651
+ openKeyMaps
19652
+ } = internalData;
18227
19653
  const expandOpts = computeExpandOpts.value;
18228
19654
  return itemList.map(item => {
18229
19655
  const {
@@ -18234,7 +19660,7 @@ function collapse_createInternalData() {
18234
19660
  } = item;
18235
19661
  const titleSlot = slots ? slots.title : null;
18236
19662
  const defaultSlot = slots ? slots.default : null;
18237
- const isActive = name && activeNames.includes(name);
19663
+ const isActive = name && activeKeyFlag && activeKeyMaps[name];
18238
19664
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
18239
19665
  class: 'vxe-collapse-item'
18240
19666
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
@@ -18260,7 +19686,7 @@ function collapse_createInternalData() {
18260
19686
  'is--visible': isActive,
18261
19687
  'is--hidden': !isActive
18262
19688
  }]
18263
- }, [name && initNames.includes(name) ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
19689
+ }, [name && openKeyFlag && openKeyMaps[name] ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
18264
19690
  class: 'vxe-collapse--item-inner'
18265
19691
  }, [defaultSlot ? callSlot(defaultSlot, {
18266
19692
  name,
@@ -18289,8 +19715,15 @@ function collapse_createInternalData() {
18289
19715
  class: 'vxe-collapse-slots'
18290
19716
  }, defaultSlot ? defaultSlot({}) : []), renderList(itemList)]);
18291
19717
  };
18292
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.modelValue, val => {
18293
- reactData.activeNames = val || [];
19718
+ const valFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
19719
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.modelValue ? props.modelValue.length : -1, () => {
19720
+ valFlag.value++;
19721
+ });
19722
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.modelValue, () => {
19723
+ valFlag.value++;
19724
+ });
19725
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(valFlag, () => {
19726
+ updateModel();
18294
19727
  });
18295
19728
  const optsFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
18296
19729
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.options ? props.options.length : -1, () => {
@@ -18312,7 +19745,7 @@ function collapse_createInternalData() {
18312
19745
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(stFlag, () => {
18313
19746
  initDefaultName(reactData.staticPanes);
18314
19747
  });
18315
- reactData.activeNames = props.modelValue || [];
19748
+ updateModel();
18316
19749
  initDefaultName(reactData.staticPanes.length ? reactData.staticPanes : props.options);
18317
19750
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(() => {
18318
19751
  const {
@@ -25725,6 +27158,7 @@ function date_picker_createInternalData() {
25725
27158
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onUnmounted)(() => {
25726
27159
  globalEvents.off($xeDatePicker, 'mousewheel');
25727
27160
  globalEvents.off($xeDatePicker, 'mousedown');
27161
+ globalEvents.off($xeDatePicker, 'keydown');
25728
27162
  globalEvents.off($xeDatePicker, 'blur');
25729
27163
  globalEvents.off($xeDatePicker, 'resize');
25730
27164
  });
@@ -32320,25 +33754,9 @@ function image_createReactData() {
32320
33754
  const {
32321
33755
  width,
32322
33756
  height,
32323
- minWidth,
32324
- minHeight,
32325
- maxWidth,
32326
- maxHeight,
32327
33757
  circle
32328
33758
  } = props;
32329
33759
  const stys = {};
32330
- if (minWidth) {
32331
- stys.minWidth = toCssUnit(minWidth);
32332
- }
32333
- if (minHeight) {
32334
- stys.minHeight = toCssUnit(minHeight);
32335
- }
32336
- if (maxWidth) {
32337
- stys.maxWidth = toCssUnit(maxWidth);
32338
- }
32339
- if (maxHeight) {
32340
- stys.maxHeight = toCssUnit(maxHeight);
32341
- }
32342
33760
  if (circle) {
32343
33761
  // 圆形只能生效一个
32344
33762
  if (width) {
@@ -32361,7 +33779,11 @@ function image_createReactData() {
32361
33779
  const computeImgStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
32362
33780
  const {
32363
33781
  width,
32364
- height
33782
+ height,
33783
+ minWidth,
33784
+ minHeight,
33785
+ maxHeight,
33786
+ maxWidth
32365
33787
  } = props;
32366
33788
  const stys = {};
32367
33789
  if (width && height) {
@@ -32374,6 +33796,18 @@ function image_createReactData() {
32374
33796
  if (height) {
32375
33797
  stys.height = toCssUnit(height);
32376
33798
  }
33799
+ if (minWidth) {
33800
+ stys.minWidth = toCssUnit(minWidth);
33801
+ }
33802
+ if (minHeight) {
33803
+ stys.minHeight = toCssUnit(minHeight);
33804
+ }
33805
+ if (maxWidth) {
33806
+ stys.maxWidth = toCssUnit(maxWidth);
33807
+ }
33808
+ if (maxHeight) {
33809
+ stys.maxHeight = toCssUnit(maxHeight);
33810
+ }
32377
33811
  }
32378
33812
  return stys;
32379
33813
  });
@@ -39196,7 +40630,6 @@ const PasswordInput = VxePasswordInput;
39196
40630
 
39197
40631
 
39198
40632
 
39199
- const browseObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();
39200
40633
  // 打印
39201
40634
  let printFrame;
39202
40635
  // 默认导出或打印的 HTML 样式
@@ -39302,6 +40735,7 @@ function createHtmlPage(opts, printHtml) {
39302
40735
  return ['<!DOCTYPE html><html>', '<head>', '<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui">', `<title>${opts.title || ''}</title>`, createCssLink(styleUrls), `<style media="print">@page{size:auto;${isPbMode ? 'margin: 0mm;' : ''}}</style>`, `<style>body{font-size:${pageStyObj.fontSize || '14px'};color:${pageStyObj.color || defaultFontColor};text-align:${pageStyObj.textAlign || 'left'};}</style>`, '<style>', '.vxe-print-slots{display:none;}', '.vxe-print-page-break.align--center{text-align:center;}', '.vxe-print-page-break.align--left{text-align:left;}', '.vxe-print-page-break.align--right{text-align:right;}', '.vxe-print-page-break{break-before:always;page-break-before:always;display:flex;flex-direction:column;height:100vh;overflow:hidden;}', '.vxe-print-page-break--body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden;}', '.vxe-print-page-break--left,.vxe-print-page-break--right{flex-shrink:0;height:100%;}', `.vxe-print-page-break--left{width:${pageStyObj.marginLeft};}`, `.vxe-print-page-break--right{width:${pageStyObj.marginRight};}`, '.vxe-print-page-break--header,.vxe-print-page-break--footer{display:flex;justify-content:center;flex-direction:column;flex-shrink:0;width:100%;}', `.vxe-print-page-break--header{height:${headStyOpts.height || pageStyObj.marginTop};padding:0 ${pageStyObj.marginLeft} 0 ${pageStyObj.marginRight};text-align:${headStyOpts.textAlign || 'left'};}`, `.vxe-print-page-break--header-title{font-size:${titStyOpts.fontSize || '1.6em'};color:${titStyOpts.color || defaultFontColor};text-align:${opts.headerAlign || pnStyOpts.textAlign || 'center'};}`, `.vxe-print-page-break--footer{height:${footStyOpts.height || pageStyObj.marginBottom};padding:0 ${pageStyObj.marginLeft} 0 ${pageStyObj.marginRight};text-align:${footStyOpts.textAlign || 'left'};}`, '.vxe-print-page-break--content{flex-grow:1;overflow:hidden;}', `.vxe-print-page-break--footer-page-number{font-size:${pnStyOpts.fontSize || '1.2em'};color:${pnStyOpts.color || defaultFontColor};text-align:${opts.footerAlign || pnStyOpts.textAlign || 'center'};}`, '</style>', '<style>.vxe-table{white-space:pre;}</style>', `<style>${defaultHtmlStyle}</style>`, isPbMode ? '<style>body{margin:0;}</style>' : '', customStyle ? `<style>${customStyle}</style>` : '', '</head>', '<body>', `${printHtml}`, '</body>', '</html>'].join('');
39303
40736
  }
39304
40737
  function handlePrint(opts, printHtml = '') {
40738
+ const browseObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();
39305
40739
  const {
39306
40740
  beforeMethod,
39307
40741
  styleUrls
@@ -40187,6 +41621,7 @@ const Print = VxePrint;
40187
41621
  class: 'vxe-pulldown--content',
40188
41622
  onClick: clickTargetEvent
40189
41623
  }, defaultSlot ? defaultSlot({
41624
+ options,
40190
41625
  $pulldown: $xePulldown
40191
41626
  }) : []), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(external_commonjs_vue_commonjs2_vue_root_Vue_.Teleport, {
40192
41627
  to: 'body',
@@ -40210,14 +41645,17 @@ const Print = VxePrint;
40210
41645
  }, initialized && (destroyOnClose ? visiblePanel || isAniVisible : true) ? [headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
40211
41646
  class: 'vxe-pulldown--panel-header'
40212
41647
  }, headerSlot({
41648
+ options,
40213
41649
  $pulldown: $xePulldown
40214
41650
  })) : renderEmptyElement($xePulldown), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
40215
41651
  class: 'vxe-pulldown--panel-body'
40216
41652
  }, dropdownSlot ? dropdownSlot({
41653
+ options,
40217
41654
  $pulldown: $xePulldown
40218
41655
  }) : [renderDefaultPanel(options)]), footerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
40219
41656
  class: 'vxe-pulldown--panel-footer'
40220
41657
  }, footerSlot({
41658
+ options,
40221
41659
  $pulldown: $xePulldown
40222
41660
  })) : renderEmptyElement($xePulldown)] : [])])])]);
40223
41661
  };
@@ -44359,6 +45797,89 @@ dynamicApp.use(VxeTableSelect);
44359
45797
  VxeUI.component(table_select);
44360
45798
  const TableSelect = VxeTableSelect;
44361
45799
  /* harmony default export */ var packages_table_select = (VxeTableSelect);
45800
+ ;// ./packages/table-transfer/src/table-transfer.ts
45801
+
45802
+
45803
+
45804
+
45805
+ function table_transfer_createReactData() {
45806
+ return {};
45807
+ }
45808
+ function table_transfer_createInternalData() {
45809
+ return {};
45810
+ }
45811
+ /* harmony default export */ var table_transfer = (defineVxeComponent({
45812
+ name: 'VxeTableTransfer',
45813
+ props: {
45814
+ modelValue: Array,
45815
+ options: Array,
45816
+ size: {
45817
+ type: String,
45818
+ default: () => getConfig().tableTransfer.size || getConfig().size
45819
+ }
45820
+ },
45821
+ emits: [],
45822
+ setup(props, context) {
45823
+ const {
45824
+ emit
45825
+ } = context;
45826
+ const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
45827
+ const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
45828
+ const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(table_transfer_createReactData());
45829
+ const internalData = table_transfer_createInternalData();
45830
+ const refMaps = {
45831
+ refElem
45832
+ };
45833
+ const computeMaps = {};
45834
+ const $xeTableTransfer = {
45835
+ xID,
45836
+ props,
45837
+ context,
45838
+ reactData,
45839
+ internalData,
45840
+ getRefMaps: () => refMaps,
45841
+ getComputeMaps: () => computeMaps
45842
+ };
45843
+ const dispatchEvent = (type, params, evnt) => {
45844
+ emit(type, createEvent(evnt, {
45845
+ $tableTransfer: $xeTableTransfer
45846
+ }, params));
45847
+ };
45848
+ const tableTransferMethods = {
45849
+ dispatchEvent
45850
+ };
45851
+ const tableTransferPrivateMethods = {};
45852
+ Object.assign($xeTableTransfer, tableTransferMethods, tableTransferPrivateMethods);
45853
+ const renderVN = () => {
45854
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
45855
+ ref: refElem,
45856
+ class: 'vxe-table-transfer'
45857
+ }, []);
45858
+ };
45859
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
45860
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, table_transfer_createReactData());
45861
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, table_transfer_createInternalData());
45862
+ });
45863
+ $xeTableTransfer.renderVN = renderVN;
45864
+ return $xeTableTransfer;
45865
+ },
45866
+ render() {
45867
+ return this.renderVN();
45868
+ }
45869
+ }));
45870
+ ;// ./packages/table-transfer/index.ts
45871
+
45872
+
45873
+
45874
+ const VxeTableTransfer = Object.assign({}, table_transfer, {
45875
+ install(app) {
45876
+ app.component(table_transfer.name, table_transfer);
45877
+ }
45878
+ });
45879
+ dynamicApp.use(VxeTableTransfer);
45880
+ VxeUI.component(table_transfer);
45881
+ const TableTransfer = VxeTableTransfer;
45882
+ /* harmony default export */ var packages_table_transfer = (VxeTableTransfer);
44362
45883
  ;// ./packages/tabs/src/tabs.ts
44363
45884
 
44364
45885
 
@@ -46627,14 +48148,109 @@ dynamicApp.use(VxeTour);
46627
48148
  VxeUI.component(tour);
46628
48149
  const Tour = VxeTour;
46629
48150
  /* harmony default export */ var packages_tour = (VxeTour);
46630
- ;// ./packages/tree/src/util.ts
48151
+ ;// ./packages/transfer/src/transfer.ts
46631
48152
 
46632
- function util_enNodeValue(nodeid) {
46633
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(nodeid) ? '' : encodeURIComponent(`${nodeid}`);
48153
+
48154
+
48155
+
48156
+ function transfer_createReactData() {
48157
+ return {};
46634
48158
  }
46635
- function util_deNodeValue(nodeid) {
46636
- return nodeid ? decodeURIComponent(`${nodeid}`) : nodeid;
48159
+ function transfer_createInternalData() {
48160
+ return {};
46637
48161
  }
48162
+ /* harmony default export */ var transfer = (defineVxeComponent({
48163
+ name: 'VxeTransfer',
48164
+ props: {
48165
+ modelValue: Array,
48166
+ options: Array,
48167
+ size: {
48168
+ type: String,
48169
+ default: () => getConfig().transfer.size || getConfig().size
48170
+ }
48171
+ },
48172
+ emits: [],
48173
+ setup(props, context) {
48174
+ const {
48175
+ emit,
48176
+ slots
48177
+ } = context;
48178
+ const xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
48179
+ const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
48180
+ const reactData = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.reactive)(transfer_createReactData());
48181
+ const internalData = transfer_createInternalData();
48182
+ const refMaps = {
48183
+ refElem
48184
+ };
48185
+ const computeMaps = {};
48186
+ const $xeTransfer = {
48187
+ xID,
48188
+ props,
48189
+ context,
48190
+ reactData,
48191
+ internalData,
48192
+ getRefMaps: () => refMaps,
48193
+ getComputeMaps: () => computeMaps
48194
+ };
48195
+ const dispatchEvent = (type, params, evnt) => {
48196
+ emit(type, createEvent(evnt, {
48197
+ $transfer: $xeTransfer
48198
+ }, params));
48199
+ };
48200
+ const transferMethods = {
48201
+ dispatchEvent
48202
+ };
48203
+ const transferPrivateMethods = {};
48204
+ Object.assign($xeTransfer, transferMethods, transferPrivateMethods);
48205
+ const renderVN = () => {
48206
+ const headerSlot = slots.header;
48207
+ const footerSlot = slots.footer;
48208
+ return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
48209
+ ref: refElem,
48210
+ class: 'vxe-transfer'
48211
+ }, [headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
48212
+ class: 'vxe-transfer--header'
48213
+ }, headerSlot({
48214
+ $transfer: $xeTransfer
48215
+ })) : renderEmptyElement($xeTransfer), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
48216
+ class: 'vxe-transfer--body'
48217
+ }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
48218
+ class: 'vxe-transfer--left-wrapper'
48219
+ }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
48220
+ class: 'vxe-transfer--buttons-wrapper'
48221
+ }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
48222
+ class: 'vxe-transfer--right-wrapper'
48223
+ })]), footerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
48224
+ class: 'vxe-transfer--footer'
48225
+ }, footerSlot({
48226
+ $transfer: $xeTransfer
48227
+ })) : renderEmptyElement($xeTransfer)]);
48228
+ };
48229
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
48230
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, transfer_createReactData());
48231
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, transfer_createInternalData());
48232
+ });
48233
+ $xeTransfer.renderVN = renderVN;
48234
+ return $xeTransfer;
48235
+ },
48236
+ render() {
48237
+ return this.renderVN();
48238
+ }
48239
+ }));
48240
+ ;// ./packages/transfer/index.ts
48241
+
48242
+
48243
+
48244
+ const VxeTransfer = Object.assign({}, transfer, {
48245
+ install(app) {
48246
+ app.component(transfer.name, transfer);
48247
+ }
48248
+ });
48249
+ dynamicApp.use(VxeTransfer);
48250
+ VxeUI.component(transfer);
48251
+ const Transfer = VxeTransfer;
48252
+ /* harmony default export */ var packages_transfer = (VxeTransfer);
48253
+ ;// ./packages/tree/src/util.ts
46638
48254
  function countTreeExpand($xeTree, prevNode) {
46639
48255
  let count = 1;
46640
48256
  if (!prevNode) {
@@ -46689,58 +48305,6 @@ const crossTreeDragNodeInfo = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.r
46689
48305
  function getCrossTreeDragNodeInfo() {
46690
48306
  return crossTreeDragNodeInfo;
46691
48307
  }
46692
- ;// ./packages/ui/src/anime.ts
46693
- /* unused harmony import specifier */ var anime_XEUtils;
46694
- /* unused harmony import specifier */ var anime_addClass;
46695
- /* unused harmony import specifier */ var anime_removeClass;
46696
-
46697
-
46698
-
46699
-
46700
- const rowMoveCls = 'row--drag-move';
46701
- const colMoveClass = 'col--drag-move';
46702
- /**
46703
- * 上下拖拽
46704
- */
46705
- function moveRowAnimateToTb(elemList, offsetTop) {
46706
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elemList, trEl => {
46707
- trEl.style.transform = `translateY(${offsetTop}px)`;
46708
- });
46709
- requestAnimationFrame(() => {
46710
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elemList, trEl => {
46711
- addClass(trEl, rowMoveCls);
46712
- trEl.style.transform = '';
46713
- });
46714
- });
46715
- }
46716
- function clearRowAnimate(elem, clss) {
46717
- setTimeout(() => {
46718
- if (elem) {
46719
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(elem.querySelectorAll(clss.map(cls => `${cls}.${rowMoveCls}`).join(',')), elem => removeClass(elem, rowMoveCls));
46720
- }
46721
- }, 500);
46722
- }
46723
- /**
46724
- * 左右拖拽
46725
- */
46726
- function moveColAnimateToLr(elemList, offsetLeft) {
46727
- anime_XEUtils.arrayEach(elemList, trEl => {
46728
- trEl.style.transform = `translateX(${offsetLeft}px)`;
46729
- });
46730
- requestAnimationFrame(() => {
46731
- anime_XEUtils.arrayEach(elemList, trEl => {
46732
- anime_addClass(trEl, colMoveClass);
46733
- trEl.style.transform = '';
46734
- });
46735
- });
46736
- }
46737
- function clearColAnimate(elem, clss) {
46738
- setTimeout(() => {
46739
- if (elem) {
46740
- anime_XEUtils.arrayEach(elem.querySelectorAll(clss.map(cls => `${cls}.${rowMoveCls}`).join(',')), elem => anime_removeClass(elem, colMoveClass));
46741
- }
46742
- }, 500);
46743
- }
46744
48308
  ;// ./packages/tree/src/tree.ts
46745
48309
 
46746
48310
 
@@ -46895,19 +48459,13 @@ function tree_createReactData() {
46895
48459
  type: Boolean,
46896
48460
  default: () => tree_getConfig().tree.showRadio
46897
48461
  },
46898
- checkNodeKey: {
46899
- type: [String, Number],
46900
- default: () => tree_getConfig().tree.checkNodeKey
46901
- },
48462
+ checkNodeKey: [String, Number],
46902
48463
  radioConfig: Object,
46903
48464
  showCheckbox: {
46904
48465
  type: Boolean,
46905
48466
  default: () => tree_getConfig().tree.showCheckbox
46906
48467
  },
46907
- checkNodeKeys: {
46908
- type: Array,
46909
- default: () => tree_getConfig().tree.checkNodeKeys
46910
- },
48468
+ checkNodeKeys: Array,
46911
48469
  checkboxConfig: Object,
46912
48470
  nodeConfig: Object,
46913
48471
  lazy: Boolean,
@@ -47109,7 +48667,7 @@ function tree_createReactData() {
47109
48667
  }
47110
48668
  const valueField = computeValueField.value;
47111
48669
  const nodeKey = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, valueField);
47112
- return util_enNodeValue(nodeKey);
48670
+ return enModelValue(nodeKey);
47113
48671
  };
47114
48672
  const isExpandByNode = node => {
47115
48673
  const {
@@ -47170,7 +48728,7 @@ function tree_createReactData() {
47170
48728
  }
47171
48729
  const nodeList = [];
47172
48730
  nodeKeys.forEach(nodeKey => {
47173
- const nodeid = util_enNodeValue(nodeKey);
48731
+ const nodeid = enModelValue(nodeKey);
47174
48732
  const nodeItem = nodeMaps[nodeid];
47175
48733
  if (nodeItem) {
47176
48734
  nodeList.push(nodeItem.item);
@@ -48226,7 +49784,7 @@ function tree_createReactData() {
48226
49784
  reactData.updateCheckboxFlag++;
48227
49785
  updateCheckboxStatus();
48228
49786
  const nodeids = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(selectCheckboxMaps);
48229
- const value = nodeids.map(util_deNodeValue);
49787
+ const value = nodeids.map(deModelValue);
48230
49788
  emitCheckboxMode(value);
48231
49789
  dispatchEvent('checkbox-change', {
48232
49790
  node,
@@ -48294,7 +49852,7 @@ function tree_createReactData() {
48294
49852
  return;
48295
49853
  }
48296
49854
  const isChecked = true;
48297
- const value = util_deNodeValue(nodeid);
49855
+ const value = deModelValue(nodeid);
48298
49856
  reactData.selectRadioKey = nodeid;
48299
49857
  emitRadioMode(value);
48300
49858
  dispatchEvent('radio-change', {
@@ -48340,7 +49898,7 @@ function tree_createReactData() {
48340
49898
  currentNode
48341
49899
  } = reactData;
48342
49900
  if (currentNode) {
48343
- return util_deNodeValue(getNodeId(currentNode));
49901
+ return deModelValue(getNodeId(currentNode));
48344
49902
  }
48345
49903
  return null;
48346
49904
  },
@@ -48363,7 +49921,7 @@ function tree_createReactData() {
48363
49921
  const {
48364
49922
  nodeMaps
48365
49923
  } = internalData;
48366
- const nodeItem = nodeMaps[util_enNodeValue(nodeKey)];
49924
+ const nodeItem = nodeMaps[enModelValue(nodeKey)];
48367
49925
  reactData.currentNode = nodeItem ? nodeItem.item : null;
48368
49926
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
48369
49927
  },
@@ -48395,7 +49953,7 @@ function tree_createReactData() {
48395
49953
  return null;
48396
49954
  },
48397
49955
  setRadioNodeId(nodeKey) {
48398
- reactData.selectRadioKey = util_enNodeValue(nodeKey);
49956
+ reactData.selectRadioKey = enModelValue(nodeKey);
48399
49957
  emitRadioMode(nodeKey);
48400
49958
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
48401
49959
  },
@@ -48403,7 +49961,7 @@ function tree_createReactData() {
48403
49961
  if (node) {
48404
49962
  const nodeid = getNodeId(node);
48405
49963
  reactData.selectRadioKey = nodeid;
48406
- emitRadioMode(util_deNodeValue(nodeid));
49964
+ emitRadioMode(deModelValue(nodeid));
48407
49965
  } else {
48408
49966
  emitRadioMode(null);
48409
49967
  }
@@ -48430,7 +49988,7 @@ function tree_createReactData() {
48430
49988
  } = internalData;
48431
49989
  const nodeKeys = [];
48432
49990
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, (item, nodeId) => {
48433
- nodeKeys.push(util_deNodeValue(nodeId));
49991
+ nodeKeys.push(deModelValue(nodeId));
48434
49992
  });
48435
49993
  return nodeKeys;
48436
49994
  },
@@ -48528,7 +50086,7 @@ function tree_createReactData() {
48528
50086
  nodeKeys = [nodeKeys];
48529
50087
  }
48530
50088
  nodeKeys.forEach(nodeKey => {
48531
- const nodeid = util_enNodeValue(nodeKey);
50089
+ const nodeid = enModelValue(nodeKey);
48532
50090
  handleSetExpand(nodeid, expanded, treeExpandedMaps);
48533
50091
  });
48534
50092
  reactData.updateExpandedFlag++;
@@ -48543,7 +50101,7 @@ function tree_createReactData() {
48543
50101
  } = internalData;
48544
50102
  const nodeKeys = [];
48545
50103
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(treeExpandedMaps, (item, nodeId) => {
48546
- nodeKeys.push(util_deNodeValue(nodeId));
50104
+ nodeKeys.push(deModelValue(nodeId));
48547
50105
  });
48548
50106
  return nodeKeys;
48549
50107
  },
@@ -48588,7 +50146,7 @@ function tree_createReactData() {
48588
50146
  nodeKeys = [nodeKeys];
48589
50147
  }
48590
50148
  nodeKeys.forEach(nodeKey => {
48591
- const nodeid = util_enNodeValue(nodeKey);
50149
+ const nodeid = enModelValue(nodeKey);
48592
50150
  handleSetExpand(nodeid, !treeExpandedMaps[`${nodeid}`], treeExpandedMaps);
48593
50151
  });
48594
50152
  reactData.updateExpandedFlag++;
@@ -48978,10 +50536,11 @@ function tree_createReactData() {
48978
50536
  const dragNodeid = getNodeId(dragNode);
48979
50537
  const dragNodeRest = nodeMaps[dragNodeid] || {};
48980
50538
  const _dragNodeIndex = dragNodeRest._index;
50539
+ const newNodeid = getNodeId(prevDragNode);
48981
50540
  let dragNodeHeight = 0;
48982
50541
  let dragOffsetTop = -1;
48983
50542
  if (animation) {
48984
- const prevItemEl = el.querySelector(`.vxe-tree--node-wrapper[nodeid="${prevDragNode}"]`);
50543
+ const prevItemEl = el.querySelector(`.vxe-tree--node-wrapper[nodeid="${newNodeid}"]`);
48985
50544
  const oldItemEl = el.querySelector(`.vxe-tree--node-wrapper[nodeid="${dragNodeid}"]`);
48986
50545
  const targetItemEl = prevItemEl || oldItemEl;
48987
50546
  if (targetItemEl) {
@@ -48996,7 +50555,6 @@ function tree_createReactData() {
48996
50555
  const oldAllMaps = {};
48997
50556
  let isSelfToChildStatus = false;
48998
50557
  const oldRest = dragNodeRest;
48999
- const newNodeid = getNodeId(prevDragNode);
49000
50558
  const newRest = nodeMaps[newNodeid];
49001
50559
  if (transform) {
49002
50560
  if (oldRest && newRest) {
@@ -49755,7 +51313,7 @@ function tree_createReactData() {
49755
51313
  loadData(props.data || []);
49756
51314
  });
49757
51315
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.checkNodeKey, nodeKey => {
49758
- reactData.selectRadioKey = util_enNodeValue(nodeKey);
51316
+ reactData.selectRadioKey = enModelValue(nodeKey);
49759
51317
  });
49760
51318
  const checkboxFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
49761
51319
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.checkNodeKeys ? props.checkNodeKeys.length : 0, () => {
@@ -49832,7 +51390,7 @@ function tree_createReactData() {
49832
51390
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(reactData, tree_createReactData());
49833
51391
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, tree_createInternalData());
49834
51392
  });
49835
- reactData.selectRadioKey = util_enNodeValue(props.checkNodeKey);
51393
+ reactData.selectRadioKey = enModelValue(props.checkNodeKey);
49836
51394
  loadData(props.data || []);
49837
51395
  $xeTree.renderVN = renderVN;
49838
51396
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.provide)('$xeTree', $xeTree);
@@ -49869,7 +51427,6 @@ const Tree = VxeTree;
49869
51427
 
49870
51428
 
49871
51429
 
49872
-
49873
51430
  const {
49874
51431
  warnLog: tree_select_warnLog,
49875
51432
  errLog: tree_select_errLog
@@ -49959,10 +51516,12 @@ function tree_select_createInternalData() {
49959
51516
  type: Boolean,
49960
51517
  default: () => getConfig().treeSelect.showRadio
49961
51518
  },
51519
+ radioConfig: Object,
49962
51520
  showCheckbox: {
49963
51521
  type: Boolean,
49964
51522
  default: () => getConfig().treeSelect.showCheckbox
49965
51523
  },
51524
+ checkboxConfig: Object,
49966
51525
  popupConfig: Object,
49967
51526
  treeConfig: Object,
49968
51527
  menuConfig: Object,
@@ -50101,23 +51660,25 @@ function tree_select_createInternalData() {
50101
51660
  });
50102
51661
  const computeTreeCheckboxOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
50103
51662
  const {
50104
- showCheckbox
51663
+ showCheckbox,
51664
+ checkboxConfig
50105
51665
  } = props;
50106
51666
  const treeOpts = computeTreeOpts.value;
50107
51667
  return Object.assign({
50108
51668
  showIcon: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(showCheckbox) ? showCheckbox : !!treeOpts.showCheckbox
50109
- }, treeOpts.checkboxConfig, {
51669
+ }, treeOpts.checkboxConfig, checkboxConfig, {
50110
51670
  trigger: 'node'
50111
51671
  });
50112
51672
  });
50113
51673
  const computeTreeRadioOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
50114
51674
  const {
50115
- showRadio
51675
+ showRadio,
51676
+ radioConfig
50116
51677
  } = props;
50117
51678
  const treeOpts = computeTreeOpts.value;
50118
51679
  return Object.assign({
50119
51680
  showIcon: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(showRadio) ? showRadio : !!treeOpts.showRadio
50120
- }, treeOpts.radioConfig, {
51681
+ }, treeOpts.radioConfig, radioConfig, {
50121
51682
  trigger: 'node'
50122
51683
  });
50123
51684
  });
@@ -50404,7 +51965,7 @@ function tree_select_createInternalData() {
50404
51965
  }, evnt || null);
50405
51966
  };
50406
51967
  const changeEvent = (evnt, selectValue, node) => {
50407
- const value = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(selectValue) ? selectValue.map(util_deNodeValue) : util_deNodeValue(selectValue);
51968
+ const value = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(selectValue) ? selectValue.map(deModelValue) : deModelValue(selectValue);
50408
51969
  emitModel(value);
50409
51970
  if (value !== props.modelValue) {
50410
51971
  dispatchEvent('change', {
@@ -53499,6 +55060,8 @@ const Watermark = VxeWatermark;
53499
55060
 
53500
55061
 
53501
55062
 
55063
+
55064
+
53502
55065
 
53503
55066
 
53504
55067
 
@@ -53508,7 +55071,7 @@ const {
53508
55071
  setTheme: components_setTheme,
53509
55072
  setConfig: components_setConfig
53510
55073
  } = VxeUI;
53511
- const components_components = [packages_alert, packages_anchor, packages_anchor_link, packages_avatar, packages_backtop, packages_badge, packages_breadcrumb, packages_breadcrumb_item, packages_button, packages_button_group, packages_calendar, packages_card, packages_carousel, packages_carousel_item, packages_cascader, packages_checkbox, checkbox_button, checkbox_group, packages_col, packages_collapse, packages_collapse_pane, packages_color_picker, packages_context_menu, packages_countdown, packages_date_panel, packages_date_picker, packages_date_range_picker, packages_drawer, packages_empty, packages_form, form_gather, packages_form_group, packages_form_item, packages_icon, packages_icon_picker, packages_image, image_group, image_preview, packages_input, packages_layout_aside, packages_layout_body, packages_layout_container, packages_layout_footer, packages_layout_header, packages_link, packages_list, packages_loading, packages_menu, packages_modal, packages_notice_bar, packages_number_input, packages_optgroup, packages_option, packages_pager, packages_password_input, print_page_break, packages_print, packages_pulldown, packages_radio, radio_button, radio_group, packages_rate, packages_result, packages_row, packages_segmented, packages_select, packages_splitter, packages_splitter_panel, split, split_pane, packages_slider, packages_steps, packages_switch, packages_tab_pane, packages_table_select, packages_tabs, packages_tag, packages_text_ellipsis, packages_text, packages_textarea, packages_timeline, packages_timeline_item, packages_tip, packages_tooltip, packages_tour, packages_tree, packages_tree_select, packages_upload, packages_watermark];
55074
+ const components_components = [packages_alert, packages_anchor, packages_anchor_link, packages_avatar, packages_backtop, packages_badge, packages_breadcrumb, packages_breadcrumb_item, packages_button, packages_button_group, packages_calendar, packages_card, packages_carousel, packages_carousel_item, packages_cascader, packages_checkbox, checkbox_button, checkbox_group, packages_col, packages_collapse, packages_collapse_pane, packages_color_picker, packages_context_menu, packages_countdown, packages_date_panel, packages_date_picker, packages_date_range_picker, packages_drawer, packages_empty, packages_form, form_gather, packages_form_group, packages_form_item, packages_icon, packages_icon_picker, packages_image, image_group, image_preview, packages_input, packages_layout_aside, packages_layout_body, packages_layout_container, packages_layout_footer, packages_layout_header, packages_link, packages_list, packages_loading, packages_menu, packages_modal, packages_notice_bar, packages_number_input, packages_optgroup, packages_option, packages_pager, packages_password_input, print_page_break, packages_print, packages_pulldown, packages_radio, radio_button, radio_group, packages_rate, packages_result, packages_row, packages_segmented, packages_select, packages_splitter, packages_splitter_panel, split, split_pane, packages_slider, packages_steps, packages_switch, packages_tab_pane, packages_table_select, packages_table_transfer, packages_tabs, packages_tag, packages_text_ellipsis, packages_text, packages_textarea, packages_timeline, packages_timeline_item, packages_tip, packages_tooltip, packages_tour, packages_transfer, packages_tree, packages_tree_select, packages_upload, packages_watermark];
53512
55075
  function install(app, options) {
53513
55076
  components_setConfig(options);
53514
55077
  components_components.forEach(component => app.use(component));
@@ -53614,6 +55177,8 @@ const readFile = readLocalFile;
53614
55177
 
53615
55178
 
53616
55179
 
55180
+
55181
+
53617
55182
 
53618
55183
 
53619
55184