vxe-pc-ui 4.20.34 → 4.20.35

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 (367) hide show
  1. package/dist/all.esm.js +45718 -45038
  2. package/dist/all.esm.min.js +3 -3
  3. package/dist/style.css +307 -1
  4. package/dist/style.mini.css +1 -1
  5. package/es/alert/src/alert.js +117 -114
  6. package/es/anchor/src/anchor-link.js +110 -107
  7. package/es/anchor/src/anchor.js +212 -209
  8. package/es/avatar/src/avatar.js +132 -129
  9. package/es/backtop/src/backtop.js +267 -264
  10. package/es/badge/src/badge.js +102 -99
  11. package/es/breadcrumb/src/breadcrumb-item.js +104 -101
  12. package/es/breadcrumb/src/breadcrumb.js +70 -67
  13. package/es/button/src/button-group.js +88 -85
  14. package/es/calendar/src/calendar.js +1371 -1368
  15. package/es/card/src/card.js +235 -232
  16. package/es/carousel/src/carousel-item.js +78 -75
  17. package/es/carousel/src/carousel.js +392 -389
  18. package/es/cascader/src/cascader.js +1667 -1664
  19. package/es/checkbox/src/button.js +198 -195
  20. package/es/checkbox/src/checkbox.js +181 -178
  21. package/es/checkbox/src/group.js +210 -207
  22. package/es/collapse/src/collapse-pane.js +98 -95
  23. package/es/collapse/src/collapse.js +340 -337
  24. package/es/color-picker/src/color-picker.js +1116 -1113
  25. package/es/components.d.ts +1 -0
  26. package/es/components.js +3 -0
  27. package/es/context-menu/src/context-menu.js +601 -598
  28. package/es/countdown/src/countdown.js +224 -221
  29. package/es/date-panel/src/date-panel.js +1905 -1902
  30. package/es/date-picker/src/date-picker.js +1537 -1534
  31. package/es/date-range-picker/src/date-range-picker.js +1412 -1409
  32. package/es/divider/src/divider.js +80 -77
  33. package/es/drawer/src/drawer.js +778 -775
  34. package/es/empty/src/empty.js +100 -97
  35. package/es/form/src/form-group.js +74 -71
  36. package/es/form/src/form-item.js +76 -73
  37. package/es/form/src/form.js +789 -786
  38. package/es/icon/src/icon.js +59 -56
  39. package/es/icon/style.css +1 -1
  40. package/es/icon/style.mini.css +1 -1
  41. package/es/icon-picker/src/icon-picker.js +719 -716
  42. package/es/image/src/group.js +130 -127
  43. package/es/image/src/image.js +243 -240
  44. package/es/image/src/preview.js +627 -624
  45. package/es/index.esm.js +2 -0
  46. package/es/index.js +2 -0
  47. package/es/input/src/input.js +2700 -2697
  48. package/es/layout-aside/src/layout-aside.js +138 -135
  49. package/es/layout-body/src/layout-body.js +145 -142
  50. package/es/layout-container/src/layout-container.js +71 -68
  51. package/es/layout-footer/src/layout-footer.js +60 -57
  52. package/es/layout-header/src/layout-header.js +58 -55
  53. package/es/link/src/link.js +131 -128
  54. package/es/list/src/list.js +2174 -2171
  55. package/es/loading/src/loading.js +141 -138
  56. package/es/mention/src/mention.js +49 -46
  57. package/es/menu/src/menu.js +799 -796
  58. package/es/modal/src/modal.js +1519 -1527
  59. package/es/notice-bar/src/notice-bar.js +168 -165
  60. package/es/number-input/src/number-input.js +1094 -1091
  61. package/es/pager/src/pager.js +767 -764
  62. package/es/password-input/src/password-input.js +431 -428
  63. package/es/print/src/page-break.js +63 -60
  64. package/es/print/src/print.js +303 -300
  65. package/es/pulldown/src/pulldown.js +403 -400
  66. package/es/radio/src/button.js +214 -211
  67. package/es/radio/src/group.js +195 -192
  68. package/es/radio/src/radio.js +194 -191
  69. package/es/rate/src/rate.js +164 -161
  70. package/es/result/src/result.js +116 -113
  71. package/es/row/src/col.js +133 -130
  72. package/es/row/src/row.js +111 -108
  73. package/es/scrollbar/src/scrollbar.js +518 -515
  74. package/es/segmented/src/segmented.js +240 -237
  75. package/es/select/src/optgroup.js +44 -41
  76. package/es/select/src/option.js +39 -36
  77. package/es/select/src/select.js +1914 -1896
  78. package/es/slider/src/slider.js +419 -416
  79. package/es/space/src/space.js +190 -187
  80. package/es/splitter/src/splitter-panel.js +146 -143
  81. package/es/splitter/src/splitter.js +917 -914
  82. package/es/step-item/index.d.ts +76 -0
  83. package/es/step-item/index.js +17 -0
  84. package/es/steps/index.d.ts +288 -34
  85. package/es/steps/src/step-info.d.ts +6 -0
  86. package/es/steps/src/step-info.js +20 -0
  87. package/es/steps/src/step-item.d.ts +14 -0
  88. package/es/steps/src/step-item.js +39 -0
  89. package/es/steps/src/steps.d.ts +68 -8
  90. package/es/steps/src/steps.js +299 -47
  91. package/es/steps/src/util.d.ts +7 -0
  92. package/es/steps/src/util.js +44 -0
  93. package/es/steps/style.css +297 -0
  94. package/es/steps/style.mini.css +1 -0
  95. package/es/style.css +307 -1
  96. package/es/style.mini.css +1 -1
  97. package/es/switch/src/switch.js +228 -225
  98. package/es/table-select/src/table-select.js +865 -862
  99. package/es/table-transfer/src/table-transfer.js +61 -58
  100. package/es/tabs/src/tab-pane.js +102 -99
  101. package/es/tabs/src/tabs.js +936 -933
  102. package/es/tag/src/tag.js +163 -160
  103. package/es/text/src/text.js +232 -229
  104. package/es/text-ellipsis/src/text-ellipsis.js +252 -249
  105. package/es/textarea/src/textarea.js +434 -431
  106. package/es/timeline/src/timeline.js +74 -36
  107. package/es/timeline/src/util.js +7 -4
  108. package/es/tip/src/tip.js +117 -114
  109. package/es/tooltip/src/tooltip.js +552 -549
  110. package/es/tour/src/tour.js +49 -46
  111. package/es/transfer/src/transfer.js +95 -92
  112. package/es/tree/src/tree.js +3379 -3376
  113. package/es/tree-select/src/tree-select.js +969 -966
  114. package/es/ui/index.js +8 -2
  115. package/es/ui/src/log.js +1 -1
  116. package/es/upload/src/upload.js +1791 -1788
  117. package/es/vxe-icon/style.css +1 -1
  118. package/es/vxe-icon/style.mini.css +1 -1
  119. package/es/vxe-steps/style.css +297 -0
  120. package/es/vxe-steps/style.mini.css +1 -0
  121. package/es/watermark/src/watermark.js +158 -155
  122. package/lib/alert/src/alert.js +117 -114
  123. package/lib/anchor/src/anchor-link.js +110 -107
  124. package/lib/anchor/src/anchor.js +212 -209
  125. package/lib/avatar/src/avatar.js +132 -129
  126. package/lib/backtop/src/backtop.js +267 -264
  127. package/lib/badge/src/badge.js +102 -99
  128. package/lib/breadcrumb/src/breadcrumb-item.js +104 -101
  129. package/lib/breadcrumb/src/breadcrumb.js +70 -67
  130. package/lib/button/src/button-group.js +88 -85
  131. package/lib/calendar/src/calendar.js +1371 -1368
  132. package/lib/card/src/card.js +235 -232
  133. package/lib/carousel/src/carousel-item.js +78 -75
  134. package/lib/carousel/src/carousel.js +392 -389
  135. package/lib/cascader/src/cascader.js +1665 -1662
  136. package/lib/checkbox/src/button.js +198 -195
  137. package/lib/checkbox/src/checkbox.js +181 -178
  138. package/lib/checkbox/src/group.js +210 -207
  139. package/lib/collapse/src/collapse-pane.js +98 -95
  140. package/lib/collapse/src/collapse.js +340 -337
  141. package/lib/color-picker/src/color-picker.js +1116 -1113
  142. package/lib/components.js +3 -0
  143. package/lib/context-menu/src/context-menu.js +601 -598
  144. package/lib/countdown/src/countdown.js +224 -221
  145. package/lib/date-panel/src/date-panel.js +1905 -1902
  146. package/lib/date-picker/src/date-picker.js +1537 -1534
  147. package/lib/date-range-picker/src/date-range-picker.js +1412 -1409
  148. package/lib/divider/src/divider.js +80 -77
  149. package/lib/drawer/src/drawer.js +778 -775
  150. package/lib/empty/src/empty.js +100 -97
  151. package/lib/form/src/form-group.js +74 -71
  152. package/lib/form/src/form-item.js +76 -73
  153. package/lib/form/src/form.js +789 -786
  154. package/lib/icon/src/icon.js +59 -56
  155. package/lib/icon/style/style.css +1 -1
  156. package/lib/icon/style/style.mini.css +1 -1
  157. package/lib/icon-picker/src/icon-picker.js +719 -716
  158. package/lib/image/src/group.js +130 -127
  159. package/lib/image/src/image.js +243 -240
  160. package/lib/image/src/preview.js +627 -624
  161. package/lib/index.common.js +2 -0
  162. package/lib/index.js +2 -0
  163. package/lib/index.umd.js +47411 -46732
  164. package/lib/index.umd.min.js +3 -3
  165. package/lib/input/src/input.js +2700 -2697
  166. package/lib/layout-aside/src/layout-aside.js +138 -135
  167. package/lib/layout-body/src/layout-body.js +145 -142
  168. package/lib/layout-container/src/layout-container.js +71 -68
  169. package/lib/layout-footer/src/layout-footer.js +60 -57
  170. package/lib/layout-header/src/layout-header.js +58 -55
  171. package/lib/link/src/link.js +131 -128
  172. package/lib/list/src/list.js +2173 -2170
  173. package/lib/loading/src/loading.js +141 -138
  174. package/lib/mention/src/mention.js +49 -46
  175. package/lib/menu/src/menu.js +799 -796
  176. package/lib/modal/src/modal.js +1519 -1527
  177. package/lib/notice-bar/src/notice-bar.js +168 -165
  178. package/lib/number-input/src/number-input.js +1094 -1091
  179. package/lib/pager/src/pager.js +767 -764
  180. package/lib/password-input/src/password-input.js +431 -428
  181. package/lib/print/src/page-break.js +63 -60
  182. package/lib/print/src/print.js +303 -300
  183. package/lib/pulldown/src/pulldown.js +403 -400
  184. package/lib/radio/src/button.js +214 -211
  185. package/lib/radio/src/group.js +195 -192
  186. package/lib/radio/src/radio.js +194 -191
  187. package/lib/rate/src/rate.js +164 -161
  188. package/lib/result/src/result.js +116 -113
  189. package/lib/row/src/col.js +133 -130
  190. package/lib/row/src/row.js +111 -108
  191. package/lib/scrollbar/src/scrollbar.js +518 -515
  192. package/lib/segmented/src/segmented.js +240 -237
  193. package/lib/select/src/optgroup.js +44 -41
  194. package/lib/select/src/option.js +39 -36
  195. package/lib/select/src/select.js +1915 -1897
  196. package/lib/slider/src/slider.js +419 -416
  197. package/lib/space/src/space.js +190 -187
  198. package/lib/splitter/src/splitter-panel.js +146 -143
  199. package/lib/splitter/src/splitter.js +917 -914
  200. package/lib/step-item/index.js +47 -0
  201. package/lib/steps/src/step-info.js +49 -0
  202. package/lib/steps/src/step-item.js +59 -0
  203. package/lib/steps/src/steps.js +298 -46
  204. package/lib/steps/src/util.js +74 -0
  205. package/lib/steps/style/style.css +297 -0
  206. package/lib/steps/style/style.mini.css +1 -0
  207. package/lib/style.css +307 -1
  208. package/lib/style.mini.css +1 -1
  209. package/lib/switch/src/switch.js +228 -225
  210. package/lib/table-select/src/table-select.js +865 -862
  211. package/lib/table-transfer/src/table-transfer.js +61 -58
  212. package/lib/tabs/src/tab-pane.js +102 -99
  213. package/lib/tabs/src/tabs.js +936 -933
  214. package/lib/tag/src/tag.js +163 -160
  215. package/lib/text/src/text.js +232 -229
  216. package/lib/text-ellipsis/src/text-ellipsis.js +252 -249
  217. package/lib/textarea/src/textarea.js +434 -431
  218. package/lib/timeline/src/timeline.js +74 -36
  219. package/lib/timeline/src/util.js +7 -4
  220. package/lib/tip/src/tip.js +117 -114
  221. package/lib/tooltip/src/tooltip.js +552 -549
  222. package/lib/tour/src/tour.js +49 -46
  223. package/lib/transfer/src/transfer.js +95 -92
  224. package/lib/tree/src/tree.js +3379 -3376
  225. package/lib/tree-select/src/tree-select.js +969 -966
  226. package/lib/ui/index.js +8 -2
  227. package/lib/ui/src/log.js +1 -1
  228. package/lib/upload/src/upload.js +1788 -1785
  229. package/lib/vxe-icon/style/style.css +1 -1
  230. package/lib/vxe-icon/style/style.mini.css +1 -1
  231. package/lib/vxe-steps/style/style.css +297 -0
  232. package/lib/vxe-steps/style/style.mini.css +1 -0
  233. package/lib/watermark/src/watermark.js +158 -155
  234. package/package.json +1 -1
  235. package/packages/alert/src/alert.ts +2 -2
  236. package/packages/anchor/src/anchor-link.ts +2 -2
  237. package/packages/anchor/src/anchor.ts +2 -2
  238. package/packages/avatar/src/avatar.ts +2 -2
  239. package/packages/backtop/src/backtop.ts +2 -2
  240. package/packages/badge/src/badge.ts +2 -2
  241. package/packages/breadcrumb/src/breadcrumb-item.ts +2 -2
  242. package/packages/breadcrumb/src/breadcrumb.ts +2 -2
  243. package/packages/button/src/button-group.ts +2 -2
  244. package/packages/calendar/src/calendar.ts +2 -2
  245. package/packages/card/src/card.ts +2 -2
  246. package/packages/carousel/src/carousel-item.ts +2 -2
  247. package/packages/carousel/src/carousel.ts +2 -2
  248. package/packages/cascader/src/cascader.ts +2 -2
  249. package/packages/checkbox/src/button.ts +3 -15
  250. package/packages/checkbox/src/checkbox.ts +2 -2
  251. package/packages/checkbox/src/group.ts +2 -2
  252. package/packages/collapse/src/collapse-pane.ts +2 -2
  253. package/packages/collapse/src/collapse.ts +2 -2
  254. package/packages/color-picker/src/color-picker.ts +2 -2
  255. package/packages/components.ts +3 -0
  256. package/packages/context-menu/src/context-menu.ts +3 -16
  257. package/packages/countdown/src/countdown.ts +2 -2
  258. package/packages/date-panel/src/date-panel.ts +2 -2
  259. package/packages/date-picker/src/date-picker.ts +2 -2
  260. package/packages/date-range-picker/src/date-range-picker.ts +2 -2
  261. package/packages/divider/src/divider.ts +2 -2
  262. package/packages/drawer/src/drawer.ts +2 -2
  263. package/packages/empty/src/empty.ts +2 -2
  264. package/packages/form/src/form-group.ts +2 -2
  265. package/packages/form/src/form-item.ts +2 -2
  266. package/packages/form/src/form.ts +2 -2
  267. package/packages/icon/src/icon.ts +2 -2
  268. package/packages/icon-picker/src/icon-picker.ts +2 -2
  269. package/packages/image/src/group.ts +2 -2
  270. package/packages/image/src/image.ts +2 -2
  271. package/packages/image/src/preview.ts +3 -16
  272. package/packages/index.ts +2 -2
  273. package/packages/input/src/input.ts +2 -2
  274. package/packages/layout-aside/src/layout-aside.ts +2 -2
  275. package/packages/layout-body/src/layout-body.ts +2 -2
  276. package/packages/layout-container/src/layout-container.ts +3 -14
  277. package/packages/layout-footer/src/layout-footer.ts +2 -2
  278. package/packages/layout-header/src/layout-header.ts +2 -2
  279. package/packages/link/src/link.ts +2 -2
  280. package/packages/list/src/list.ts +2 -2
  281. package/packages/loading/src/loading.ts +2 -2
  282. package/packages/mention/src/mention.ts +2 -2
  283. package/packages/menu/src/menu.ts +2 -2
  284. package/packages/modal/src/modal.ts +5 -20
  285. package/packages/notice-bar/src/notice-bar.ts +2 -2
  286. package/packages/number-input/src/number-input.ts +3 -17
  287. package/packages/pager/src/pager.ts +2 -2
  288. package/packages/password-input/src/password-input.ts +2 -2
  289. package/packages/print/src/page-break.ts +2 -2
  290. package/packages/print/src/print.ts +2 -2
  291. package/packages/pulldown/src/pulldown.ts +2 -2
  292. package/packages/radio/src/button.ts +3 -16
  293. package/packages/radio/src/group.ts +3 -17
  294. package/packages/radio/src/radio.ts +2 -2
  295. package/packages/rate/src/rate.ts +2 -2
  296. package/packages/result/src/result.ts +2 -2
  297. package/packages/row/src/col.ts +2 -2
  298. package/packages/row/src/row.ts +2 -2
  299. package/packages/scrollbar/src/scrollbar.ts +3 -4
  300. package/packages/segmented/src/segmented.ts +2 -2
  301. package/packages/select/src/optgroup.ts +2 -2
  302. package/packages/select/src/option.ts +2 -2
  303. package/packages/select/src/select.ts +33 -19
  304. package/packages/slider/src/slider.ts +2 -2
  305. package/packages/space/src/space.ts +2 -2
  306. package/packages/splitter/src/splitter-panel.ts +2 -2
  307. package/packages/splitter/src/splitter.ts +2 -2
  308. package/packages/step-item/index.ts +16 -0
  309. package/packages/steps/src/step-info.ts +18 -0
  310. package/packages/steps/src/step-item.ts +41 -0
  311. package/packages/steps/src/steps.ts +273 -13
  312. package/packages/steps/src/util.ts +44 -0
  313. package/packages/switch/src/switch.ts +2 -2
  314. package/packages/table-select/src/table-select.ts +2 -2
  315. package/packages/table-transfer/src/table-transfer.ts +3 -15
  316. package/packages/tabs/src/tab-pane.ts +2 -2
  317. package/packages/tabs/src/tabs.ts +2 -2
  318. package/packages/tag/src/tag.ts +2 -2
  319. package/packages/text/src/text.ts +2 -2
  320. package/packages/text-ellipsis/src/text-ellipsis.ts +2 -2
  321. package/packages/textarea/src/textarea.ts +2 -2
  322. package/packages/timeline/src/timeline-info.ts +17 -17
  323. package/packages/timeline/src/timeline.ts +93 -49
  324. package/packages/timeline/src/util.ts +44 -41
  325. package/packages/tip/src/tip.ts +2 -2
  326. package/packages/tooltip/src/tooltip.ts +2 -2
  327. package/packages/tour/src/tour.ts +2 -2
  328. package/packages/transfer/src/transfer.ts +2 -2
  329. package/packages/tree/src/tree.ts +2 -2
  330. package/packages/tree-select/src/tree-select.ts +2 -2
  331. package/packages/ui/index.ts +8 -1
  332. package/packages/upload/src/upload.ts +2 -2
  333. package/packages/watermark/src/watermark.ts +2 -2
  334. package/styles/all.scss +1 -0
  335. package/styles/components/step-item.scss +0 -0
  336. package/styles/components/steps.scss +354 -0
  337. package/styles/theme/base.scss +9 -0
  338. package/types/all.d.ts +3 -0
  339. package/types/components/gantt.d.ts +1 -3
  340. package/types/components/select.d.ts +1 -13
  341. package/types/components/step-item.d.ts +72 -0
  342. package/types/components/steps.d.ts +67 -8
  343. package/types/components/table.d.ts +7 -66
  344. package/types/handles/form-design.d.ts +1 -4
  345. package/types/ui/global-config.d.ts +2 -0
  346. package/types/ui/global-icon.d.ts +7 -0
  347. /package/dist/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  348. /package/dist/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  349. /package/dist/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  350. /package/es/icon/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  351. /package/es/icon/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  352. /package/es/icon/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  353. /package/es/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  354. /package/es/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  355. /package/es/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  356. /package/es/vxe-icon/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  357. /package/es/vxe-icon/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  358. /package/es/vxe-icon/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  359. /package/lib/icon/style/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  360. /package/lib/icon/style/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  361. /package/lib/icon/style/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  362. /package/lib/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  363. /package/lib/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  364. /package/lib/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
  365. /package/lib/vxe-icon/style/{iconfont.1793330162657.ttf → iconfont.1793359478136.ttf} +0 -0
  366. /package/lib/vxe-icon/style/{iconfont.1793330162657.woff → iconfont.1793359478136.woff} +0 -0
  367. /package/lib/vxe-icon/style/{iconfont.1793330162657.woff2 → iconfont.1793359478136.woff2} +0 -0
@@ -8,1006 +8,1009 @@ import { createComponentLog } from "../../ui/src/log";
8
8
  import XEUtils from "xe-utils";
9
9
  const { getConfig, getIcon, createEvent, globalEvents, globalResize, useFns, renderEmptyElement } = VxeUI;
10
10
  const { warnLog, errLog } = createComponentLog("splitter");
11
- var splitter_default = defineVxeComponent({
12
- name: "VxeSplitter",
13
- props: {
14
- width: [Number, String],
15
- height: [Number, String],
16
- vertical: {
17
- type: Boolean,
18
- default: () => getConfig().splitter.vertical
19
- },
20
- border: {
21
- type: Boolean,
22
- default: () => getConfig().splitter.border
23
- },
24
- padding: {
25
- type: Boolean,
26
- default: () => getConfig().splitter.padding
27
- },
28
- resize: {
29
- type: Boolean,
30
- default: () => getConfig().splitter.resize
11
+ var splitter_default = (
12
+ /* define-vxe-component start */
13
+ defineVxeComponent({
14
+ name: "VxeSplitter",
15
+ props: {
16
+ width: [Number, String],
17
+ height: [Number, String],
18
+ vertical: {
19
+ type: Boolean,
20
+ default: () => getConfig().splitter.vertical
21
+ },
22
+ border: {
23
+ type: Boolean,
24
+ default: () => getConfig().splitter.border
25
+ },
26
+ padding: {
27
+ type: Boolean,
28
+ default: () => getConfig().splitter.padding
29
+ },
30
+ resize: {
31
+ type: Boolean,
32
+ default: () => getConfig().splitter.resize
33
+ },
34
+ items: Array,
35
+ itemConfig: Object,
36
+ barConfig: Object,
37
+ resizeConfig: Object,
38
+ actionConfig: Object,
39
+ size: {
40
+ type: String,
41
+ default: () => getConfig().splitter.size || getConfig().size
42
+ }
31
43
  },
32
- items: Array,
33
- itemConfig: Object,
34
- barConfig: Object,
35
- resizeConfig: Object,
36
- actionConfig: Object,
37
- size: {
38
- type: String,
39
- default: () => getConfig().splitter.size || getConfig().size
40
- }
41
- },
42
- emits: ["action-dblclick", "action-click", "toggle-expand", "resize-start", "resize-drag", "resize-end"],
43
- setup(props, context) {
44
- const { emit, slots } = context;
45
- const xID = XEUtils.uniqueId();
46
- const refElem = ref();
47
- const refBarInfoElem = ref();
48
- const refResizableSplitterTip = ref();
49
- const { computeSize } = useFns.useSize(props);
50
- const reactData = reactive({
51
- staticItems: [],
52
- itemList: [],
53
- barWidth: 0,
54
- barHeight: 0,
55
- resizeFlag: 0
56
- });
57
- const internalData = {
58
- wrapperWidth: 0,
59
- wrapperHeight: 0
60
- };
61
- const computeItemOpts = computed(() => {
62
- return Object.assign({}, getConfig().splitter.itemConfig, props.itemConfig);
63
- });
64
- const computeBarOpts = computed(() => {
65
- return Object.assign({}, getConfig().splitter.barConfig, props.barConfig);
66
- });
67
- const computeResizeOpts = computed(() => {
68
- return Object.assign({}, getConfig().splitter.resizeConfig, props.resizeConfig);
69
- });
70
- const computeActionOpts = computed(() => {
71
- return Object.assign({}, getConfig().splitter.actionConfig, props.actionConfig);
72
- });
73
- const computeVisibleItems = computed(() => {
74
- return reactData.itemList.filter((item) => item.isExpand);
75
- });
76
- const computeAutoItems = computed(() => {
77
- const { vertical } = props;
78
- const autoItems = [];
79
- let heightCount = 0;
80
- let widthCount = 0;
81
- reactData.itemList.forEach(
82
- vertical ? (item) => {
83
- const { renderHeight, resizeHeight, foldHeight, isExpand, height } = item;
84
- const itemHeight = isExpand ? foldHeight || resizeHeight || renderHeight : 0;
85
- if (!height) {
86
- autoItems.push(item);
87
- }
88
- heightCount += itemHeight;
89
- } : (item) => {
90
- const { renderWidth, resizeWidth, foldWidth, isExpand, width } = item;
91
- const itemWidth = isExpand ? foldWidth || resizeWidth || renderWidth : 0;
92
- if (!width) {
93
- autoItems.push(item);
94
- }
95
- widthCount += itemWidth;
96
- }
97
- );
98
- return {
99
- autoItems,
100
- heightCount,
101
- heightRatio: heightCount / 100,
102
- widthCount,
103
- widthRatio: widthCount / 100
44
+ emits: ["action-dblclick", "action-click", "toggle-expand", "resize-start", "resize-drag", "resize-end"],
45
+ setup(props, context) {
46
+ const { emit, slots } = context;
47
+ const xID = XEUtils.uniqueId();
48
+ const refElem = ref();
49
+ const refBarInfoElem = ref();
50
+ const refResizableSplitterTip = ref();
51
+ const { computeSize } = useFns.useSize(props);
52
+ const reactData = reactive({
53
+ staticItems: [],
54
+ itemList: [],
55
+ barWidth: 0,
56
+ barHeight: 0,
57
+ resizeFlag: 0
58
+ });
59
+ const internalData = {
60
+ wrapperWidth: 0,
61
+ wrapperHeight: 0
104
62
  };
105
- });
106
- const computeWrapperStyle = computed(() => {
107
- const { width, height } = props;
108
- const barOpts = computeBarOpts.value;
109
- const { width: barWidth, height: barHeight } = barOpts;
110
- const stys = {};
111
- if (height) {
112
- stys.height = toCssUnit(height);
113
- }
114
- if (width) {
115
- stys.width = toCssUnit(width);
116
- }
117
- if (barHeight) {
118
- stys["--vxe-ui-splitter-handle-bar-vertical-height"] = toCssUnit(barHeight);
119
- }
120
- if (barWidth) {
121
- stys["--vxe-ui-splitter-handle-bar-horizontal-width"] = toCssUnit(barWidth);
122
- }
123
- return stys;
124
- });
125
- const computeMaps = {
126
- computeItemOpts,
127
- computeBarOpts,
128
- computeActionOpts
129
- };
130
- const refMaps = {
131
- refElem
132
- };
133
- const $xeSplitter = {
134
- xID,
135
- props,
136
- context,
137
- reactData,
138
- internalData,
139
- getRefMaps: () => refMaps,
140
- getComputeMaps: () => computeMaps
141
- };
142
- const dispatchEvent = (type, params, evnt) => {
143
- emit(type, createEvent(evnt, { $splitter: $xeSplitter }, params));
144
- };
145
- const callSlot = (slotFunc, params) => {
146
- if (slotFunc) {
147
- if (XEUtils.isString(slotFunc)) {
148
- slotFunc = slots[slotFunc] || null;
63
+ const computeItemOpts = computed(() => {
64
+ return Object.assign({}, getConfig().splitter.itemConfig, props.itemConfig);
65
+ });
66
+ const computeBarOpts = computed(() => {
67
+ return Object.assign({}, getConfig().splitter.barConfig, props.barConfig);
68
+ });
69
+ const computeResizeOpts = computed(() => {
70
+ return Object.assign({}, getConfig().splitter.resizeConfig, props.resizeConfig);
71
+ });
72
+ const computeActionOpts = computed(() => {
73
+ return Object.assign({}, getConfig().splitter.actionConfig, props.actionConfig);
74
+ });
75
+ const computeVisibleItems = computed(() => {
76
+ return reactData.itemList.filter((item) => item.isExpand);
77
+ });
78
+ const computeAutoItems = computed(() => {
79
+ const { vertical } = props;
80
+ const autoItems = [];
81
+ let heightCount = 0;
82
+ let widthCount = 0;
83
+ reactData.itemList.forEach(
84
+ vertical ? (item) => {
85
+ const { renderHeight, resizeHeight, foldHeight, isExpand, height } = item;
86
+ const itemHeight = isExpand ? foldHeight || resizeHeight || renderHeight : 0;
87
+ if (!height) {
88
+ autoItems.push(item);
89
+ }
90
+ heightCount += itemHeight;
91
+ } : (item) => {
92
+ const { renderWidth, resizeWidth, foldWidth, isExpand, width } = item;
93
+ const itemWidth = isExpand ? foldWidth || resizeWidth || renderWidth : 0;
94
+ if (!width) {
95
+ autoItems.push(item);
96
+ }
97
+ widthCount += itemWidth;
98
+ }
99
+ );
100
+ return {
101
+ autoItems,
102
+ heightCount,
103
+ heightRatio: heightCount / 100,
104
+ widthCount,
105
+ widthRatio: widthCount / 100
106
+ };
107
+ });
108
+ const computeWrapperStyle = computed(() => {
109
+ const { width, height } = props;
110
+ const barOpts = computeBarOpts.value;
111
+ const { width: barWidth, height: barHeight } = barOpts;
112
+ const stys = {};
113
+ if (height) {
114
+ stys.height = toCssUnit(height);
149
115
  }
150
- if (XEUtils.isFunction(slotFunc)) {
151
- return getSlotVNs(slotFunc(params));
116
+ if (width) {
117
+ stys.width = toCssUnit(width);
152
118
  }
153
- }
154
- return [];
155
- };
156
- const getActionIcon = (prevItem, nextItem, isNext) => {
157
- const { vertical } = props;
158
- const topIcon = "SPLIT_TOP_ACTION";
159
- const bottomIcon = "SPLIT_BOTTOM_ACTION";
160
- const leftIcon = "SPLIT_LEFT_ACTION";
161
- const rightIcon = "SPLIT_RIGHT_ACTION";
162
- let iconName = "";
163
- if (vertical) {
164
- if (isNext) {
165
- iconName = nextItem.isExpand ? bottomIcon : topIcon;
166
- } else {
167
- iconName = prevItem.isExpand ? topIcon : bottomIcon;
119
+ if (barHeight) {
120
+ stys["--vxe-ui-splitter-handle-bar-vertical-height"] = toCssUnit(barHeight);
168
121
  }
169
- } else {
170
- if (isNext) {
171
- iconName = nextItem.isExpand ? rightIcon : leftIcon;
172
- } else {
173
- iconName = prevItem.isExpand ? leftIcon : rightIcon;
122
+ if (barWidth) {
123
+ stys["--vxe-ui-splitter-handle-bar-horizontal-width"] = toCssUnit(barWidth);
174
124
  }
175
- }
176
- if (iconName) {
177
- return getIcon()[iconName];
178
- }
179
- return "";
180
- };
181
- const reset = () => {
182
- const { itemList } = reactData;
183
- itemList.forEach((item) => {
184
- item.isExpand = true;
185
- item.foldHeight = 0;
186
- item.foldWidth = 0;
187
- item.resizeHeight = 0;
188
- item.resizeWidth = 0;
125
+ return stys;
189
126
  });
190
- return nextTick();
191
- };
192
- const handleLoadItem = (list, isReset) => {
193
- const { staticItems } = reactData;
194
- const actionOpts = computeActionOpts.value;
195
- const { showPrevButton, showNextButton } = actionOpts;
196
- const itemDef = {
197
- isExpand: true,
198
- renderWidth: 0,
199
- resizeWidth: 0,
200
- foldWidth: 0,
201
- renderHeight: 0,
202
- resizeHeight: 0,
203
- foldHeight: 0
127
+ const computeMaps = {
128
+ computeItemOpts,
129
+ computeBarOpts,
130
+ computeActionOpts
131
+ };
132
+ const refMaps = {
133
+ refElem
134
+ };
135
+ const $xeSplitter = {
136
+ xID,
137
+ props,
138
+ context,
139
+ reactData,
140
+ internalData,
141
+ getRefMaps: () => refMaps,
142
+ getComputeMaps: () => computeMaps
204
143
  };
205
- reactData.itemList = list.map((item) => {
206
- if (item.showAction) {
207
- warnLog("vxe.error.removeProp", ["show-action"]);
144
+ const dispatchEvent = (type, params, evnt) => {
145
+ emit(type, createEvent(evnt, { $splitter: $xeSplitter }, params));
146
+ };
147
+ const callSlot = (slotFunc, params) => {
148
+ if (slotFunc) {
149
+ if (XEUtils.isString(slotFunc)) {
150
+ slotFunc = slots[slotFunc] || null;
151
+ }
152
+ if (XEUtils.isFunction(slotFunc)) {
153
+ return getSlotVNs(slotFunc(params));
154
+ }
208
155
  }
209
- if (item.slots) {
210
- XEUtils.each(item.slots, (func) => {
211
- if (func && !XEUtils.isFunction(func)) {
212
- if (!slots[func]) {
213
- errLog("vxe.error.notSlot", [func]);
156
+ return [];
157
+ };
158
+ const getActionIcon = (prevItem, nextItem, isNext) => {
159
+ const { vertical } = props;
160
+ const topIcon = "SPLIT_TOP_ACTION";
161
+ const bottomIcon = "SPLIT_BOTTOM_ACTION";
162
+ const leftIcon = "SPLIT_LEFT_ACTION";
163
+ const rightIcon = "SPLIT_RIGHT_ACTION";
164
+ let iconName = "";
165
+ if (vertical) {
166
+ if (isNext) {
167
+ iconName = nextItem.isExpand ? bottomIcon : topIcon;
168
+ } else {
169
+ iconName = prevItem.isExpand ? topIcon : bottomIcon;
170
+ }
171
+ } else {
172
+ if (isNext) {
173
+ iconName = nextItem.isExpand ? rightIcon : leftIcon;
174
+ } else {
175
+ iconName = prevItem.isExpand ? leftIcon : rightIcon;
176
+ }
177
+ }
178
+ if (iconName) {
179
+ return getIcon()[iconName];
180
+ }
181
+ return "";
182
+ };
183
+ const reset = () => {
184
+ const { itemList } = reactData;
185
+ itemList.forEach((item) => {
186
+ item.isExpand = true;
187
+ item.foldHeight = 0;
188
+ item.foldWidth = 0;
189
+ item.resizeHeight = 0;
190
+ item.resizeWidth = 0;
191
+ });
192
+ return nextTick();
193
+ };
194
+ const handleLoadItem = (list, isReset) => {
195
+ const { staticItems } = reactData;
196
+ const actionOpts = computeActionOpts.value;
197
+ const { showPrevButton, showNextButton } = actionOpts;
198
+ const itemDef = {
199
+ isExpand: true,
200
+ renderWidth: 0,
201
+ resizeWidth: 0,
202
+ foldWidth: 0,
203
+ renderHeight: 0,
204
+ resizeHeight: 0,
205
+ foldHeight: 0
206
+ };
207
+ reactData.itemList = list.map((item) => {
208
+ if (item.showAction) {
209
+ warnLog("vxe.error.removeProp", ["show-action"]);
210
+ }
211
+ if (item.slots) {
212
+ XEUtils.each(item.slots, (func) => {
213
+ if (func && !XEUtils.isFunction(func)) {
214
+ if (!slots[func]) {
215
+ errLog("vxe.error.notSlot", [func]);
216
+ }
214
217
  }
215
- }
218
+ });
219
+ }
220
+ return Object.assign({}, isReset ? null : itemDef, item, isReset ? itemDef : null, {
221
+ id: XEUtils.uniqueId()
216
222
  });
217
- }
218
- return Object.assign({}, isReset ? null : itemDef, item, isReset ? itemDef : null, {
219
- id: XEUtils.uniqueId()
220
223
  });
221
- });
222
- if (staticItems.length) {
223
- errLog("vxe.error.errConflicts", ["<vxe-splitter-panel ...>", "items"]);
224
- }
225
- if ((showPrevButton || showNextButton) && reactData.itemList.length > 2) {
226
- errLog("vxe.error.errConflicts", ["action-config.showPrevButton | action-config.showNextButton", "Only supports 2 item"]);
227
- }
228
- return recalculate();
229
- };
230
- const loadItem = (list) => {
231
- return handleLoadItem(list || [], false);
232
- };
233
- const reloadItem = (list) => {
234
- return handleLoadItem(list || [], true);
235
- };
236
- const handleItemByName = (name) => {
237
- const { itemList } = reactData;
238
- let index = -1;
239
- let currItem = null;
240
- let prevItem = null;
241
- let nextItem = null;
242
- for (let i = 0; i < itemList.length; i++) {
243
- const item = itemList[i];
244
- if (item.name === name) {
245
- index = i;
246
- currItem = item;
247
- prevItem = itemList[i - 1] || null;
248
- nextItem = itemList[i + 1] || null;
249
- break;
224
+ if (staticItems.length) {
225
+ errLog("vxe.error.errConflicts", ["<vxe-splitter-panel ...>", "items"]);
250
226
  }
251
- }
252
- return {
253
- index,
254
- currItem,
255
- prevItem,
256
- nextItem
227
+ if ((showPrevButton || showNextButton) && reactData.itemList.length > 2) {
228
+ errLog("vxe.error.errConflicts", ["action-config.showPrevButton | action-config.showNextButton", "Only supports 2 item"]);
229
+ }
230
+ return recalculate();
257
231
  };
258
- };
259
- const setItemExpand = (name, expanded) => {
260
- const restItem = handleItemByName(name);
261
- if (restItem) {
262
- const { currItem, prevItem, nextItem } = restItem;
263
- if (currItem) {
264
- if (expanded ? !currItem.isExpand : currItem.isExpand) {
265
- if (nextItem) {
266
- if (nextItem.isExpand) {
267
- handleItemActionEvent(null, currItem, nextItem, false);
268
- }
269
- } else if (prevItem) {
270
- if (prevItem.isExpand) {
271
- handleItemActionEvent(null, prevItem, currItem, true);
232
+ const loadItem = (list) => {
233
+ return handleLoadItem(list || [], false);
234
+ };
235
+ const reloadItem = (list) => {
236
+ return handleLoadItem(list || [], true);
237
+ };
238
+ const handleItemByName = (name) => {
239
+ const { itemList } = reactData;
240
+ let index = -1;
241
+ let currItem = null;
242
+ let prevItem = null;
243
+ let nextItem = null;
244
+ for (let i = 0; i < itemList.length; i++) {
245
+ const item = itemList[i];
246
+ if (item.name === name) {
247
+ index = i;
248
+ currItem = item;
249
+ prevItem = itemList[i - 1] || null;
250
+ nextItem = itemList[i + 1] || null;
251
+ break;
252
+ }
253
+ }
254
+ return {
255
+ index,
256
+ currItem,
257
+ prevItem,
258
+ nextItem
259
+ };
260
+ };
261
+ const setItemExpand = (name, expanded) => {
262
+ const restItem = handleItemByName(name);
263
+ if (restItem) {
264
+ const { currItem, prevItem, nextItem } = restItem;
265
+ if (currItem) {
266
+ if (expanded ? !currItem.isExpand : currItem.isExpand) {
267
+ if (nextItem) {
268
+ if (nextItem.isExpand) {
269
+ handleItemActionEvent(null, currItem, nextItem, false);
270
+ }
271
+ } else if (prevItem) {
272
+ if (prevItem.isExpand) {
273
+ handleItemActionEvent(null, prevItem, currItem, true);
274
+ }
272
275
  }
273
276
  }
274
277
  }
275
278
  }
276
- }
277
- return nextTick();
278
- };
279
- const toggleItemExpand = (name) => {
280
- const restItem = handleItemByName(name);
281
- if (restItem) {
282
- const { currItem } = restItem;
283
- if (currItem) {
284
- return setItemExpand(name, !currItem.isExpand);
279
+ return nextTick();
280
+ };
281
+ const toggleItemExpand = (name) => {
282
+ const restItem = handleItemByName(name);
283
+ if (restItem) {
284
+ const { currItem } = restItem;
285
+ if (currItem) {
286
+ return setItemExpand(name, !currItem.isExpand);
287
+ }
285
288
  }
286
- }
287
- return nextTick();
288
- };
289
- const getItemExpand = (name) => {
290
- const restItem = handleItemByName(name);
291
- if (restItem) {
292
- const { currItem } = restItem;
293
- if (currItem) {
294
- return currItem.isExpand;
289
+ return nextTick();
290
+ };
291
+ const getItemExpand = (name) => {
292
+ const restItem = handleItemByName(name);
293
+ if (restItem) {
294
+ const { currItem } = restItem;
295
+ if (currItem) {
296
+ return currItem.isExpand;
297
+ }
295
298
  }
296
- }
297
- return false;
298
- };
299
- const recalculate = () => {
300
- return nextTick().then(() => {
301
- const { vertical } = props;
299
+ return false;
300
+ };
301
+ const recalculate = () => {
302
+ return nextTick().then(() => {
303
+ const { vertical } = props;
304
+ const { itemList } = reactData;
305
+ const el = refElem.value;
306
+ const barInfoElem = refBarInfoElem.value;
307
+ if (!el) {
308
+ return;
309
+ }
310
+ const wWidth = el.clientWidth;
311
+ const wHeight = el.clientHeight;
312
+ if (!wWidth || !wHeight) {
313
+ return;
314
+ }
315
+ if (barInfoElem) {
316
+ reactData.barWidth = barInfoElem.offsetWidth;
317
+ reactData.barHeight = barInfoElem.offsetHeight;
318
+ }
319
+ const contentWidth = wWidth - (vertical ? 0 : reactData.barWidth * (itemList.length - 1));
320
+ const contentHeight = wHeight - (vertical ? reactData.barHeight * (itemList.length - 1) : 0);
321
+ const itemOpts = computeItemOpts.value;
322
+ const allMinWidth = XEUtils.toNumber(itemOpts.minWidth);
323
+ const allMinHeight = XEUtils.toNumber(itemOpts.minHeight);
324
+ const residueItems = [];
325
+ if (vertical) {
326
+ let countHeight = 0;
327
+ itemList.forEach((item) => {
328
+ const { height } = item;
329
+ let itemHeight = 0;
330
+ if (height) {
331
+ if (isScale(height)) {
332
+ itemHeight = contentHeight * XEUtils.toNumber(height) / 100;
333
+ } else {
334
+ itemHeight = XEUtils.toNumber(height);
335
+ }
336
+ item.renderHeight = itemHeight;
337
+ } else {
338
+ residueItems.push(item);
339
+ }
340
+ countHeight += itemHeight;
341
+ });
342
+ if (residueItems.length) {
343
+ const reMeanHeight = (contentHeight - countHeight) / residueItems.length;
344
+ residueItems.forEach((item) => {
345
+ item.renderHeight = Math.max(XEUtils.toNumber(getGlobalDefaultConfig(item.minHeight, allMinHeight)), reMeanHeight);
346
+ });
347
+ }
348
+ } else {
349
+ let countWidth = 0;
350
+ itemList.forEach((item) => {
351
+ const { width } = item;
352
+ let itemWidth = 0;
353
+ if (width) {
354
+ if (isScale(width)) {
355
+ itemWidth = contentWidth * XEUtils.toNumber(width) / 100;
356
+ } else {
357
+ itemWidth = XEUtils.toNumber(width);
358
+ }
359
+ item.renderWidth = itemWidth;
360
+ } else {
361
+ residueItems.push(item);
362
+ }
363
+ countWidth += itemWidth;
364
+ });
365
+ if (residueItems.length) {
366
+ const reMeanWidth = (contentWidth - countWidth) / residueItems.length;
367
+ residueItems.forEach((item) => {
368
+ item.renderWidth = Math.max(XEUtils.toNumber(getGlobalDefaultConfig(item.minWidth, allMinWidth)), reMeanWidth);
369
+ });
370
+ }
371
+ }
372
+ internalData.wrapperWidth = contentWidth;
373
+ internalData.wrapperHeight = contentHeight;
374
+ });
375
+ };
376
+ const dragEvent = (evnt) => {
377
+ const { resize, vertical } = props;
302
378
  const { itemList } = reactData;
379
+ if (!resize) {
380
+ return;
381
+ }
382
+ evnt.preventDefault();
383
+ const barEl = evnt.currentTarget;
384
+ const handleEl = barEl.parentElement;
303
385
  const el = refElem.value;
304
- const barInfoElem = refBarInfoElem.value;
305
386
  if (!el) {
306
387
  return;
307
388
  }
308
- const wWidth = el.clientWidth;
309
- const wHeight = el.clientHeight;
310
- if (!wWidth || !wHeight) {
389
+ const prevEl = handleEl.previousElementSibling;
390
+ const nextEl = handleEl.nextElementSibling;
391
+ if (!prevEl || !nextEl) {
311
392
  return;
312
393
  }
313
- if (barInfoElem) {
314
- reactData.barWidth = barInfoElem.offsetWidth;
315
- reactData.barHeight = barInfoElem.offsetHeight;
394
+ const prevId = prevEl.getAttribute("itemid");
395
+ const nextId = nextEl.getAttribute("itemid");
396
+ const prevItem = itemList.find((item) => item.id === prevId);
397
+ const nextItem = itemList.find((item) => item.id === nextId);
398
+ if (!prevItem || !nextItem) {
399
+ return;
316
400
  }
317
- const contentWidth = wWidth - (vertical ? 0 : reactData.barWidth * (itemList.length - 1));
318
- const contentHeight = wHeight - (vertical ? reactData.barHeight * (itemList.length - 1) : 0);
401
+ const containerRect = el.getBoundingClientRect();
402
+ const barRect = barEl.getBoundingClientRect();
403
+ const rsSplitterLineEl = refResizableSplitterTip.value;
404
+ const rsSplitterTipEl = rsSplitterLineEl ? rsSplitterLineEl.children[0] : null;
319
405
  const itemOpts = computeItemOpts.value;
406
+ const resizeOpts = computeResizeOpts.value;
407
+ const { immediate } = resizeOpts;
320
408
  const allMinWidth = XEUtils.toNumber(itemOpts.minWidth);
321
409
  const allMinHeight = XEUtils.toNumber(itemOpts.minHeight);
322
- const residueItems = [];
323
- if (vertical) {
324
- let countHeight = 0;
325
- itemList.forEach((item) => {
326
- const { height } = item;
327
- let itemHeight = 0;
328
- if (height) {
329
- if (isScale(height)) {
330
- itemHeight = contentHeight * XEUtils.toNumber(height) / 100;
410
+ const barOffsetX = Math.ceil(barRect.width - (evnt.clientX - barRect.left));
411
+ const barOffsetY = Math.ceil(evnt.clientY - barRect.top);
412
+ const prevWidth = prevEl.offsetWidth;
413
+ const nextWidth = nextEl.offsetWidth;
414
+ const prevMinWidth = XEUtils.toNumber(prevItem ? getGlobalDefaultConfig(prevItem.minWidth, allMinWidth) : allMinWidth);
415
+ const nextMinWidth = XEUtils.toNumber(nextItem ? getGlobalDefaultConfig(nextItem.minWidth, allMinWidth) : allMinWidth);
416
+ const minOffsetLeft = prevEl.offsetLeft + prevMinWidth - barOffsetX;
417
+ const maxOffsetLeft = nextEl.offsetLeft + nextEl.offsetWidth - nextMinWidth - barOffsetX;
418
+ const startOffsetLeft = evnt.clientX - containerRect.left;
419
+ let targetOffsetWidth = -1;
420
+ let prevResizeWidth = 0;
421
+ let nextResizeWidth = 0;
422
+ let offsetLeft = startOffsetLeft;
423
+ const prevHeight = prevEl.offsetHeight;
424
+ const nextHeight = nextEl.offsetHeight;
425
+ const prevMinHeight = XEUtils.toNumber(prevItem ? getGlobalDefaultConfig(prevItem.minHeight, allMinHeight) : allMinHeight);
426
+ const nextMinHeight = XEUtils.toNumber(nextItem ? getGlobalDefaultConfig(nextItem.minHeight, allMinHeight) : allMinHeight);
427
+ const minOffsetTop = prevEl.offsetTop + prevMinHeight + barOffsetY;
428
+ const maxOffsetTop = nextEl.offsetTop + nextEl.offsetHeight - nextMinHeight + barOffsetY;
429
+ const startOffsetTop = evnt.clientY - containerRect.top;
430
+ let targetOffsetHeight = -1;
431
+ let prevResizeHeight = 0;
432
+ let nextResizeHeight = 0;
433
+ let offsetTop = startOffsetTop;
434
+ const handleReStyle = (evnt2) => {
435
+ if (!rsSplitterLineEl) {
436
+ return;
437
+ }
438
+ const rsNumPrevEl = rsSplitterTipEl ? rsSplitterTipEl.children[0] : null;
439
+ const rsNumNextEl = rsSplitterTipEl ? rsSplitterTipEl.children[1] : null;
440
+ if (vertical) {
441
+ let tipWidth = 0;
442
+ if (rsNumPrevEl) {
443
+ if (targetOffsetHeight < 0) {
444
+ rsNumPrevEl.style.display = "none";
331
445
  } else {
332
- itemHeight = XEUtils.toNumber(height);
446
+ rsNumPrevEl.textContent = `${Math.floor(prevResizeHeight)}px`;
447
+ rsNumPrevEl.style.display = "block";
448
+ tipWidth = rsNumPrevEl.offsetWidth;
333
449
  }
334
- item.renderHeight = itemHeight;
335
- } else {
336
- residueItems.push(item);
337
450
  }
338
- countHeight += itemHeight;
339
- });
340
- if (residueItems.length) {
341
- const reMeanHeight = (contentHeight - countHeight) / residueItems.length;
342
- residueItems.forEach((item) => {
343
- item.renderHeight = Math.max(XEUtils.toNumber(getGlobalDefaultConfig(item.minHeight, allMinHeight)), reMeanHeight);
344
- });
345
- }
346
- } else {
347
- let countWidth = 0;
348
- itemList.forEach((item) => {
349
- const { width } = item;
350
- let itemWidth = 0;
351
- if (width) {
352
- if (isScale(width)) {
353
- itemWidth = contentWidth * XEUtils.toNumber(width) / 100;
451
+ if (rsNumNextEl) {
452
+ if (targetOffsetHeight < 0) {
453
+ rsNumNextEl.textContent = `${Math.floor(nextResizeHeight)}px`;
454
+ rsNumNextEl.style.display = "block";
455
+ tipWidth = rsNumNextEl.offsetWidth;
354
456
  } else {
355
- itemWidth = XEUtils.toNumber(width);
457
+ rsNumNextEl.style.display = "none";
356
458
  }
357
- item.renderWidth = itemWidth;
358
- } else {
359
- residueItems.push(item);
360
459
  }
361
- countWidth += itemWidth;
362
- });
363
- if (residueItems.length) {
364
- const reMeanWidth = (contentWidth - countWidth) / residueItems.length;
365
- residueItems.forEach((item) => {
366
- item.renderWidth = Math.max(XEUtils.toNumber(getGlobalDefaultConfig(item.minWidth, allMinWidth)), reMeanWidth);
367
- });
368
- }
369
- }
370
- internalData.wrapperWidth = contentWidth;
371
- internalData.wrapperHeight = contentHeight;
372
- });
373
- };
374
- const dragEvent = (evnt) => {
375
- const { resize, vertical } = props;
376
- const { itemList } = reactData;
377
- if (!resize) {
378
- return;
379
- }
380
- evnt.preventDefault();
381
- const barEl = evnt.currentTarget;
382
- const handleEl = barEl.parentElement;
383
- const el = refElem.value;
384
- if (!el) {
385
- return;
386
- }
387
- const prevEl = handleEl.previousElementSibling;
388
- const nextEl = handleEl.nextElementSibling;
389
- if (!prevEl || !nextEl) {
390
- return;
391
- }
392
- const prevId = prevEl.getAttribute("itemid");
393
- const nextId = nextEl.getAttribute("itemid");
394
- const prevItem = itemList.find((item) => item.id === prevId);
395
- const nextItem = itemList.find((item) => item.id === nextId);
396
- if (!prevItem || !nextItem) {
397
- return;
398
- }
399
- const containerRect = el.getBoundingClientRect();
400
- const barRect = barEl.getBoundingClientRect();
401
- const rsSplitterLineEl = refResizableSplitterTip.value;
402
- const rsSplitterTipEl = rsSplitterLineEl ? rsSplitterLineEl.children[0] : null;
403
- const itemOpts = computeItemOpts.value;
404
- const resizeOpts = computeResizeOpts.value;
405
- const { immediate } = resizeOpts;
406
- const allMinWidth = XEUtils.toNumber(itemOpts.minWidth);
407
- const allMinHeight = XEUtils.toNumber(itemOpts.minHeight);
408
- const barOffsetX = Math.ceil(barRect.width - (evnt.clientX - barRect.left));
409
- const barOffsetY = Math.ceil(evnt.clientY - barRect.top);
410
- const prevWidth = prevEl.offsetWidth;
411
- const nextWidth = nextEl.offsetWidth;
412
- const prevMinWidth = XEUtils.toNumber(prevItem ? getGlobalDefaultConfig(prevItem.minWidth, allMinWidth) : allMinWidth);
413
- const nextMinWidth = XEUtils.toNumber(nextItem ? getGlobalDefaultConfig(nextItem.minWidth, allMinWidth) : allMinWidth);
414
- const minOffsetLeft = prevEl.offsetLeft + prevMinWidth - barOffsetX;
415
- const maxOffsetLeft = nextEl.offsetLeft + nextEl.offsetWidth - nextMinWidth - barOffsetX;
416
- const startOffsetLeft = evnt.clientX - containerRect.left;
417
- let targetOffsetWidth = -1;
418
- let prevResizeWidth = 0;
419
- let nextResizeWidth = 0;
420
- let offsetLeft = startOffsetLeft;
421
- const prevHeight = prevEl.offsetHeight;
422
- const nextHeight = nextEl.offsetHeight;
423
- const prevMinHeight = XEUtils.toNumber(prevItem ? getGlobalDefaultConfig(prevItem.minHeight, allMinHeight) : allMinHeight);
424
- const nextMinHeight = XEUtils.toNumber(nextItem ? getGlobalDefaultConfig(nextItem.minHeight, allMinHeight) : allMinHeight);
425
- const minOffsetTop = prevEl.offsetTop + prevMinHeight + barOffsetY;
426
- const maxOffsetTop = nextEl.offsetTop + nextEl.offsetHeight - nextMinHeight + barOffsetY;
427
- const startOffsetTop = evnt.clientY - containerRect.top;
428
- let targetOffsetHeight = -1;
429
- let prevResizeHeight = 0;
430
- let nextResizeHeight = 0;
431
- let offsetTop = startOffsetTop;
432
- const handleReStyle = (evnt2) => {
433
- if (!rsSplitterLineEl) {
434
- return;
435
- }
436
- const rsNumPrevEl = rsSplitterTipEl ? rsSplitterTipEl.children[0] : null;
437
- const rsNumNextEl = rsSplitterTipEl ? rsSplitterTipEl.children[1] : null;
438
- if (vertical) {
439
- let tipWidth = 0;
440
- if (rsNumPrevEl) {
441
- if (targetOffsetHeight < 0) {
442
- rsNumPrevEl.style.display = "none";
443
- } else {
444
- rsNumPrevEl.textContent = `${Math.floor(prevResizeHeight)}px`;
445
- rsNumPrevEl.style.display = "block";
446
- tipWidth = rsNumPrevEl.offsetWidth;
460
+ let rsLeft = Math.max(1, evnt2.clientX - containerRect.left - tipWidth / 2);
461
+ if (rsLeft > containerRect.width - tipWidth - 1) {
462
+ rsLeft = containerRect.width - tipWidth - 1;
447
463
  }
448
- }
449
- if (rsNumNextEl) {
450
- if (targetOffsetHeight < 0) {
451
- rsNumNextEl.textContent = `${Math.floor(nextResizeHeight)}px`;
452
- rsNumNextEl.style.display = "block";
453
- tipWidth = rsNumNextEl.offsetWidth;
454
- } else {
455
- rsNumNextEl.style.display = "none";
464
+ rsSplitterLineEl.style.left = "0";
465
+ rsSplitterLineEl.style.top = `${offsetTop}px`;
466
+ if (rsSplitterTipEl) {
467
+ rsSplitterTipEl.style.left = `${rsLeft}px`;
468
+ }
469
+ } else {
470
+ let tipHeight = 0;
471
+ if (rsNumPrevEl) {
472
+ if (targetOffsetWidth < 0) {
473
+ rsNumPrevEl.style.display = "none";
474
+ } else {
475
+ rsNumPrevEl.textContent = `${Math.floor(prevResizeWidth)}px`;
476
+ rsNumPrevEl.style.display = "block";
477
+ tipHeight = rsNumPrevEl.offsetHeight;
478
+ }
479
+ }
480
+ if (rsNumNextEl) {
481
+ if (targetOffsetWidth < 0) {
482
+ rsNumNextEl.textContent = `${Math.floor(nextResizeWidth)}px`;
483
+ rsNumNextEl.style.display = "block";
484
+ tipHeight = rsNumNextEl.offsetHeight;
485
+ } else {
486
+ rsNumNextEl.style.display = "none";
487
+ }
488
+ }
489
+ let rsTop = Math.max(1, evnt2.clientY - containerRect.top - tipHeight / 2);
490
+ if (rsTop > containerRect.height - tipHeight - 1) {
491
+ rsTop = containerRect.height - tipHeight - 1;
492
+ }
493
+ rsSplitterLineEl.style.top = "0";
494
+ rsSplitterLineEl.style.left = `${offsetLeft}px`;
495
+ if (rsSplitterTipEl) {
496
+ rsSplitterTipEl.style.top = `${rsTop}px`;
456
497
  }
457
498
  }
458
- let rsLeft = Math.max(1, evnt2.clientX - containerRect.left - tipWidth / 2);
459
- if (rsLeft > containerRect.width - tipWidth - 1) {
460
- rsLeft = containerRect.width - tipWidth - 1;
461
- }
462
- rsSplitterLineEl.style.left = "0";
463
- rsSplitterLineEl.style.top = `${offsetTop}px`;
464
- if (rsSplitterTipEl) {
465
- rsSplitterTipEl.style.left = `${rsLeft}px`;
499
+ };
500
+ const handleUpdate = () => {
501
+ if (vertical) {
502
+ prevItem.resizeHeight = prevResizeHeight;
503
+ nextItem.resizeHeight = nextResizeHeight;
504
+ } else {
505
+ prevItem.resizeWidth = prevResizeWidth;
506
+ nextItem.resizeWidth = nextResizeWidth;
466
507
  }
467
- } else {
468
- let tipHeight = 0;
469
- if (rsNumPrevEl) {
470
- if (targetOffsetWidth < 0) {
471
- rsNumPrevEl.style.display = "none";
472
- } else {
473
- rsNumPrevEl.textContent = `${Math.floor(prevResizeWidth)}px`;
474
- rsNumPrevEl.style.display = "block";
475
- tipHeight = rsNumPrevEl.offsetHeight;
508
+ };
509
+ const handleDrag = (evnt2) => {
510
+ if (vertical) {
511
+ offsetTop = evnt2.clientY - containerRect.top;
512
+ if (offsetTop < minOffsetTop) {
513
+ offsetTop = minOffsetTop;
514
+ }
515
+ if (offsetTop > maxOffsetTop) {
516
+ offsetTop = maxOffsetTop;
517
+ }
518
+ targetOffsetHeight = offsetTop - startOffsetTop;
519
+ prevResizeHeight = prevHeight + targetOffsetHeight;
520
+ nextResizeHeight = nextHeight - targetOffsetHeight;
521
+ } else {
522
+ offsetLeft = evnt2.clientX - containerRect.left;
523
+ if (offsetLeft < minOffsetLeft) {
524
+ offsetLeft = minOffsetLeft;
525
+ }
526
+ if (offsetLeft > maxOffsetLeft) {
527
+ offsetLeft = maxOffsetLeft;
476
528
  }
529
+ targetOffsetWidth = offsetLeft - startOffsetLeft;
530
+ prevResizeWidth = prevWidth + targetOffsetWidth;
531
+ nextResizeWidth = nextWidth - targetOffsetWidth;
477
532
  }
478
- if (rsNumNextEl) {
479
- if (targetOffsetWidth < 0) {
480
- rsNumNextEl.textContent = `${Math.floor(nextResizeWidth)}px`;
481
- rsNumNextEl.style.display = "block";
482
- tipHeight = rsNumNextEl.offsetHeight;
533
+ if (immediate) {
534
+ if (vertical) {
535
+ prevEl.style.height = toCssUnit(prevResizeHeight);
536
+ nextEl.style.height = toCssUnit(nextResizeHeight);
483
537
  } else {
484
- rsNumNextEl.style.display = "none";
538
+ prevEl.style.width = toCssUnit(prevResizeWidth);
539
+ nextEl.style.width = toCssUnit(nextResizeWidth);
485
540
  }
486
541
  }
487
- let rsTop = Math.max(1, evnt2.clientY - containerRect.top - tipHeight / 2);
488
- if (rsTop > containerRect.height - tipHeight - 1) {
489
- rsTop = containerRect.height - tipHeight - 1;
542
+ if (rsSplitterLineEl) {
543
+ handleReStyle(evnt2);
490
544
  }
491
- rsSplitterLineEl.style.top = "0";
492
- rsSplitterLineEl.style.left = `${offsetLeft}px`;
493
- if (rsSplitterTipEl) {
494
- rsSplitterTipEl.style.top = `${rsTop}px`;
545
+ dispatchEvent("resize-drag", { prevItem, nextItem, offsetHeight: targetOffsetHeight, offsetWidth: targetOffsetWidth }, evnt2);
546
+ };
547
+ document.onmousemove = (evnt2) => {
548
+ evnt2.preventDefault();
549
+ handleDrag(evnt2);
550
+ reactData.resizeFlag++;
551
+ };
552
+ document.onmouseup = (evnt2) => {
553
+ document.onmousemove = null;
554
+ document.onmouseup = null;
555
+ if (rsSplitterLineEl) {
556
+ rsSplitterLineEl.style.display = "";
495
557
  }
558
+ handleUpdate();
559
+ removeClass(el, "is--drag");
560
+ dispatchEvent("resize-end", { prevItem, nextItem, offsetHeight: targetOffsetHeight, offsetWidth: targetOffsetWidth }, evnt2);
561
+ recalculate();
562
+ reactData.resizeFlag++;
563
+ };
564
+ if (rsSplitterLineEl) {
565
+ rsSplitterLineEl.style.display = "block";
566
+ handleReStyle(evnt);
496
567
  }
568
+ handleDrag(evnt);
569
+ addClass(el, "is--drag");
570
+ dispatchEvent("resize-start", { prevItem, nextItem }, evnt);
497
571
  };
498
- const handleUpdate = () => {
499
- if (vertical) {
500
- prevItem.resizeHeight = prevResizeHeight;
501
- nextItem.resizeHeight = nextResizeHeight;
572
+ const handleItemActionEvent = (evnt, prevItem, nextItem, isNext) => {
573
+ const { vertical } = props;
574
+ let expanded = false;
575
+ let item = prevItem;
576
+ if (isNext) {
577
+ item = nextItem;
578
+ expanded = !nextItem.isExpand;
579
+ nextItem.isExpand = expanded;
502
580
  } else {
503
- prevItem.resizeWidth = prevResizeWidth;
504
- nextItem.resizeWidth = nextResizeWidth;
581
+ expanded = !prevItem.isExpand;
582
+ prevItem.isExpand = expanded;
505
583
  }
506
- };
507
- const handleDrag = (evnt2) => {
508
584
  if (vertical) {
509
- offsetTop = evnt2.clientY - containerRect.top;
510
- if (offsetTop < minOffsetTop) {
511
- offsetTop = minOffsetTop;
512
- }
513
- if (offsetTop > maxOffsetTop) {
514
- offsetTop = maxOffsetTop;
585
+ if (prevItem.isExpand && nextItem.isExpand) {
586
+ prevItem.foldHeight = 0;
587
+ nextItem.foldHeight = 0;
588
+ } else if (prevItem.isExpand) {
589
+ nextItem.foldHeight = 0;
590
+ prevItem.foldHeight = (prevItem.resizeHeight || prevItem.renderHeight) + (nextItem.resizeHeight || nextItem.renderHeight);
591
+ } else {
592
+ prevItem.foldHeight = 0;
593
+ nextItem.foldHeight = (prevItem.resizeHeight || prevItem.renderHeight) + (nextItem.resizeHeight || nextItem.renderHeight);
515
594
  }
516
- targetOffsetHeight = offsetTop - startOffsetTop;
517
- prevResizeHeight = prevHeight + targetOffsetHeight;
518
- nextResizeHeight = nextHeight - targetOffsetHeight;
519
595
  } else {
520
- offsetLeft = evnt2.clientX - containerRect.left;
521
- if (offsetLeft < minOffsetLeft) {
522
- offsetLeft = minOffsetLeft;
523
- }
524
- if (offsetLeft > maxOffsetLeft) {
525
- offsetLeft = maxOffsetLeft;
526
- }
527
- targetOffsetWidth = offsetLeft - startOffsetLeft;
528
- prevResizeWidth = prevWidth + targetOffsetWidth;
529
- nextResizeWidth = nextWidth - targetOffsetWidth;
530
- }
531
- if (immediate) {
532
- if (vertical) {
533
- prevEl.style.height = toCssUnit(prevResizeHeight);
534
- nextEl.style.height = toCssUnit(nextResizeHeight);
596
+ if (prevItem.isExpand && nextItem.isExpand) {
597
+ prevItem.foldWidth = 0;
598
+ nextItem.foldWidth = 0;
599
+ } else if (prevItem.isExpand) {
600
+ nextItem.foldWidth = 0;
601
+ prevItem.foldWidth = (prevItem.resizeWidth || prevItem.renderWidth) + (nextItem.resizeWidth || nextItem.renderWidth);
535
602
  } else {
536
- prevEl.style.width = toCssUnit(prevResizeWidth);
537
- nextEl.style.width = toCssUnit(nextResizeWidth);
603
+ prevItem.foldWidth = 0;
604
+ nextItem.foldWidth = (prevItem.resizeWidth || prevItem.renderWidth) + (nextItem.resizeWidth || nextItem.renderWidth);
538
605
  }
539
606
  }
540
- if (rsSplitterLineEl) {
541
- handleReStyle(evnt2);
542
- }
543
- dispatchEvent("resize-drag", { prevItem, nextItem, offsetHeight: targetOffsetHeight, offsetWidth: targetOffsetWidth }, evnt2);
544
- };
545
- document.onmousemove = (evnt2) => {
546
- evnt2.preventDefault();
547
- handleDrag(evnt2);
548
- reactData.resizeFlag++;
549
- };
550
- document.onmouseup = (evnt2) => {
551
- document.onmousemove = null;
552
- document.onmouseup = null;
553
- if (rsSplitterLineEl) {
554
- rsSplitterLineEl.style.display = "";
607
+ if (evnt) {
608
+ dispatchEvent("toggle-expand", { prevItem, nextItem, expanded, item }, evnt);
555
609
  }
556
- handleUpdate();
557
- removeClass(el, "is--drag");
558
- dispatchEvent("resize-end", { prevItem, nextItem, offsetHeight: targetOffsetHeight, offsetWidth: targetOffsetWidth }, evnt2);
559
610
  recalculate();
560
611
  reactData.resizeFlag++;
561
612
  };
562
- if (rsSplitterLineEl) {
563
- rsSplitterLineEl.style.display = "block";
564
- handleReStyle(evnt);
565
- }
566
- handleDrag(evnt);
567
- addClass(el, "is--drag");
568
- dispatchEvent("resize-start", { prevItem, nextItem }, evnt);
569
- };
570
- const handleItemActionEvent = (evnt, prevItem, nextItem, isNext) => {
571
- const { vertical } = props;
572
- let expanded = false;
573
- let item = prevItem;
574
- if (isNext) {
575
- item = nextItem;
576
- expanded = !nextItem.isExpand;
577
- nextItem.isExpand = expanded;
578
- } else {
579
- expanded = !prevItem.isExpand;
580
- prevItem.isExpand = expanded;
581
- }
582
- if (vertical) {
583
- if (prevItem.isExpand && nextItem.isExpand) {
584
- prevItem.foldHeight = 0;
585
- nextItem.foldHeight = 0;
586
- } else if (prevItem.isExpand) {
587
- nextItem.foldHeight = 0;
588
- prevItem.foldHeight = (prevItem.resizeHeight || prevItem.renderHeight) + (nextItem.resizeHeight || nextItem.renderHeight);
589
- } else {
590
- prevItem.foldHeight = 0;
591
- nextItem.foldHeight = (prevItem.resizeHeight || prevItem.renderHeight) + (nextItem.resizeHeight || nextItem.renderHeight);
592
- }
593
- } else {
594
- if (prevItem.isExpand && nextItem.isExpand) {
595
- prevItem.foldWidth = 0;
596
- nextItem.foldWidth = 0;
597
- } else if (prevItem.isExpand) {
598
- nextItem.foldWidth = 0;
599
- prevItem.foldWidth = (prevItem.resizeWidth || prevItem.renderWidth) + (nextItem.resizeWidth || nextItem.renderWidth);
600
- } else {
601
- prevItem.foldWidth = 0;
602
- nextItem.foldWidth = (prevItem.resizeWidth || prevItem.renderWidth) + (nextItem.resizeWidth || nextItem.renderWidth);
603
- }
604
- }
605
- if (evnt) {
606
- dispatchEvent("toggle-expand", { prevItem, nextItem, expanded, item }, evnt);
607
- }
608
- recalculate();
609
- reactData.resizeFlag++;
610
- };
611
- const handlePrevActionDblclickEvent = (evnt) => {
612
- const { itemList } = reactData;
613
- const actionOpts = computeActionOpts.value;
614
- const btnEl = evnt.currentTarget;
615
- const btnWrapperEl = btnEl.parentElement;
616
- const handleEl = btnWrapperEl.parentElement;
617
- const prevEl = handleEl.previousElementSibling;
618
- const prevId = prevEl.getAttribute("itemid");
619
- const prevItem = itemList.find((item) => item.id === prevId);
620
- const nextEl = handleEl.nextElementSibling;
621
- const nextId = nextEl.getAttribute("itemid");
622
- const nextItem = itemList.find((item) => item.id === nextId);
623
- if (actionOpts.trigger === "dblclick") {
624
- if (prevItem && nextItem && nextItem.isExpand) {
625
- handleItemActionEvent(evnt, prevItem, nextItem, false);
613
+ const handlePrevActionDblclickEvent = (evnt) => {
614
+ const { itemList } = reactData;
615
+ const actionOpts = computeActionOpts.value;
616
+ const btnEl = evnt.currentTarget;
617
+ const btnWrapperEl = btnEl.parentElement;
618
+ const handleEl = btnWrapperEl.parentElement;
619
+ const prevEl = handleEl.previousElementSibling;
620
+ const prevId = prevEl.getAttribute("itemid");
621
+ const prevItem = itemList.find((item) => item.id === prevId);
622
+ const nextEl = handleEl.nextElementSibling;
623
+ const nextId = nextEl.getAttribute("itemid");
624
+ const nextItem = itemList.find((item) => item.id === nextId);
625
+ if (actionOpts.trigger === "dblclick") {
626
+ if (prevItem && nextItem && nextItem.isExpand) {
627
+ handleItemActionEvent(evnt, prevItem, nextItem, false);
628
+ }
626
629
  }
627
- }
628
- dispatchEvent("action-dblclick", { prevItem, nextItem }, evnt);
629
- };
630
- const handlePrevActionClickEvent = (evnt) => {
631
- const { itemList } = reactData;
632
- const actionOpts = computeActionOpts.value;
633
- const btnEl = evnt.currentTarget;
634
- const btnWrapperEl = btnEl.parentElement;
635
- const handleEl = btnWrapperEl.parentElement;
636
- const prevEl = handleEl.previousElementSibling;
637
- const prevId = prevEl.getAttribute("itemid");
638
- const prevItem = itemList.find((item) => item.id === prevId);
639
- const nextEl = handleEl.nextElementSibling;
640
- const nextId = nextEl.getAttribute("itemid");
641
- const nextItem = itemList.find((item) => item.id === nextId);
642
- if (actionOpts.trigger !== "dblclick") {
643
- if (prevItem && nextItem && nextItem.isExpand) {
644
- handleItemActionEvent(evnt, prevItem, nextItem, false);
630
+ dispatchEvent("action-dblclick", { prevItem, nextItem }, evnt);
631
+ };
632
+ const handlePrevActionClickEvent = (evnt) => {
633
+ const { itemList } = reactData;
634
+ const actionOpts = computeActionOpts.value;
635
+ const btnEl = evnt.currentTarget;
636
+ const btnWrapperEl = btnEl.parentElement;
637
+ const handleEl = btnWrapperEl.parentElement;
638
+ const prevEl = handleEl.previousElementSibling;
639
+ const prevId = prevEl.getAttribute("itemid");
640
+ const prevItem = itemList.find((item) => item.id === prevId);
641
+ const nextEl = handleEl.nextElementSibling;
642
+ const nextId = nextEl.getAttribute("itemid");
643
+ const nextItem = itemList.find((item) => item.id === nextId);
644
+ if (actionOpts.trigger !== "dblclick") {
645
+ if (prevItem && nextItem && nextItem.isExpand) {
646
+ handleItemActionEvent(evnt, prevItem, nextItem, false);
647
+ }
645
648
  }
646
- }
647
- dispatchEvent("action-click", { prevItem, nextItem }, evnt);
648
- };
649
- const handleNextActionDblclickEvent = (evnt) => {
650
- const { itemList } = reactData;
651
- const actionOpts = computeActionOpts.value;
652
- const btnEl = evnt.currentTarget;
653
- const btnWrapperEl = btnEl.parentElement;
654
- const handleEl = btnWrapperEl.parentElement;
655
- const prevEl = handleEl.previousElementSibling;
656
- const prevId = prevEl.getAttribute("itemid");
657
- const prevItem = itemList.find((item) => item.id === prevId);
658
- const nextEl = handleEl.nextElementSibling;
659
- const nextId = nextEl.getAttribute("itemid");
660
- const nextItem = itemList.find((item) => item.id === nextId);
661
- if (actionOpts.trigger === "dblclick") {
662
- if (prevItem && nextItem && prevItem.isExpand) {
663
- handleItemActionEvent(evnt, prevItem, nextItem, true);
649
+ dispatchEvent("action-click", { prevItem, nextItem }, evnt);
650
+ };
651
+ const handleNextActionDblclickEvent = (evnt) => {
652
+ const { itemList } = reactData;
653
+ const actionOpts = computeActionOpts.value;
654
+ const btnEl = evnt.currentTarget;
655
+ const btnWrapperEl = btnEl.parentElement;
656
+ const handleEl = btnWrapperEl.parentElement;
657
+ const prevEl = handleEl.previousElementSibling;
658
+ const prevId = prevEl.getAttribute("itemid");
659
+ const prevItem = itemList.find((item) => item.id === prevId);
660
+ const nextEl = handleEl.nextElementSibling;
661
+ const nextId = nextEl.getAttribute("itemid");
662
+ const nextItem = itemList.find((item) => item.id === nextId);
663
+ if (actionOpts.trigger === "dblclick") {
664
+ if (prevItem && nextItem && prevItem.isExpand) {
665
+ handleItemActionEvent(evnt, prevItem, nextItem, true);
666
+ }
664
667
  }
665
- }
666
- dispatchEvent("action-dblclick", { prevItem, nextItem }, evnt);
667
- };
668
- const handleNextActionClickEvent = (evnt) => {
669
- const { itemList } = reactData;
670
- const actionOpts = computeActionOpts.value;
671
- const btnEl = evnt.currentTarget;
672
- const btnWrapperEl = btnEl.parentElement;
673
- const handleEl = btnWrapperEl.parentElement;
674
- const prevEl = handleEl.previousElementSibling;
675
- const prevId = prevEl.getAttribute("itemid");
676
- const prevItem = itemList.find((item) => item.id === prevId);
677
- const nextEl = handleEl.nextElementSibling;
678
- const nextId = nextEl.getAttribute("itemid");
679
- const nextItem = itemList.find((item) => item.id === nextId);
680
- if (actionOpts.trigger !== "dblclick") {
681
- if (prevItem && nextItem && prevItem.isExpand) {
682
- handleItemActionEvent(evnt, prevItem, nextItem, true);
668
+ dispatchEvent("action-dblclick", { prevItem, nextItem }, evnt);
669
+ };
670
+ const handleNextActionClickEvent = (evnt) => {
671
+ const { itemList } = reactData;
672
+ const actionOpts = computeActionOpts.value;
673
+ const btnEl = evnt.currentTarget;
674
+ const btnWrapperEl = btnEl.parentElement;
675
+ const handleEl = btnWrapperEl.parentElement;
676
+ const prevEl = handleEl.previousElementSibling;
677
+ const prevId = prevEl.getAttribute("itemid");
678
+ const prevItem = itemList.find((item) => item.id === prevId);
679
+ const nextEl = handleEl.nextElementSibling;
680
+ const nextId = nextEl.getAttribute("itemid");
681
+ const nextItem = itemList.find((item) => item.id === nextId);
682
+ if (actionOpts.trigger !== "dblclick") {
683
+ if (prevItem && nextItem && prevItem.isExpand) {
684
+ handleItemActionEvent(evnt, prevItem, nextItem, true);
685
+ }
683
686
  }
684
- }
685
- dispatchEvent("action-click", { prevItem, nextItem }, evnt);
686
- };
687
- const handleGlobalResizeEvent = () => {
688
- recalculate();
689
- };
690
- const splitterMethods = {
691
- dispatchEvent,
692
- setItemExpand,
693
- toggleItemExpand,
694
- getItemExpand,
695
- recalculate,
696
- reset,
697
- loadItem,
698
- reloadItem
699
- };
700
- const splitterPrivateMethods = {};
701
- Object.assign($xeSplitter, splitterMethods, splitterPrivateMethods);
702
- const renderHandleBar = (prevItem, nextItem) => {
703
- const { border, resize, vertical } = props;
704
- const { itemList } = reactData;
705
- const actionOpts = computeActionOpts.value;
706
- const { direction } = actionOpts;
707
- const showPrevButton = XEUtils.isBoolean(actionOpts.showPrevButton) ? actionOpts.showPrevButton : itemList.some((item) => item.showAction);
708
- const showNextButton = XEUtils.isBoolean(actionOpts.showNextButton) ? actionOpts.showNextButton : direction === "next" && itemList.some((item) => item.showAction);
709
- const resizeOpts = computeResizeOpts.value;
710
- const { immediate } = resizeOpts;
711
- return h(
712
- "div",
713
- {
714
- class: [
715
- "vxe-splitter-panel-handle",
716
- vertical ? "is--vertical" : "is--horizontal",
717
- immediate ? "is-resize--immediate" : "is-resize--lazy",
718
- {
719
- "is--resize": resize,
720
- "is--border": border
721
- }
722
- ]
723
- },
724
- [
725
- h("div", {
726
- class: "vxe-splitter-panel-handle-bar",
727
- onMousedown: dragEvent
728
- }),
729
- itemList.length === 2 ? h(
730
- "div",
731
- {
732
- class: "vxe-splitter-panel-action-btn-wrapper"
733
- },
734
- [
735
- showPrevButton && nextItem.isExpand ? h(
736
- "div",
737
- {
738
- class: ["vxe-splitter-panel-action-btn", prevItem.isExpand ? "is--prev" : "is--next"],
739
- onDblclick: handlePrevActionDblclickEvent,
740
- onClick: handlePrevActionClickEvent
741
- },
742
- [
743
- h("i", {
744
- class: getActionIcon(prevItem, nextItem, false)
745
- })
746
- ]
747
- ) : renderEmptyElement($xeSplitter),
748
- showNextButton && prevItem.isExpand ? h(
749
- "div",
750
- {
751
- class: ["vxe-splitter-panel-action-btn", nextItem.isExpand ? "is--next" : "is--prev"],
752
- onDblclick: handleNextActionDblclickEvent,
753
- onClick: handleNextActionClickEvent
754
- },
755
- [
756
- h("i", {
757
- class: getActionIcon(prevItem, nextItem, true)
758
- })
759
- ]
760
- ) : renderEmptyElement($xeSplitter)
687
+ dispatchEvent("action-click", { prevItem, nextItem }, evnt);
688
+ };
689
+ const handleGlobalResizeEvent = () => {
690
+ recalculate();
691
+ };
692
+ const splitterMethods = {
693
+ dispatchEvent,
694
+ setItemExpand,
695
+ toggleItemExpand,
696
+ getItemExpand,
697
+ recalculate,
698
+ reset,
699
+ loadItem,
700
+ reloadItem
701
+ };
702
+ const splitterPrivateMethods = {};
703
+ Object.assign($xeSplitter, splitterMethods, splitterPrivateMethods);
704
+ const renderHandleBar = (prevItem, nextItem) => {
705
+ const { border, resize, vertical } = props;
706
+ const { itemList } = reactData;
707
+ const actionOpts = computeActionOpts.value;
708
+ const { direction } = actionOpts;
709
+ const showPrevButton = XEUtils.isBoolean(actionOpts.showPrevButton) ? actionOpts.showPrevButton : itemList.some((item) => item.showAction);
710
+ const showNextButton = XEUtils.isBoolean(actionOpts.showNextButton) ? actionOpts.showNextButton : direction === "next" && itemList.some((item) => item.showAction);
711
+ const resizeOpts = computeResizeOpts.value;
712
+ const { immediate } = resizeOpts;
713
+ return h(
714
+ "div",
715
+ {
716
+ class: [
717
+ "vxe-splitter-panel-handle",
718
+ vertical ? "is--vertical" : "is--horizontal",
719
+ immediate ? "is-resize--immediate" : "is-resize--lazy",
720
+ {
721
+ "is--resize": resize,
722
+ "is--border": border
723
+ }
761
724
  ]
762
- ) : renderEmptyElement($xeSplitter)
763
- ]
764
- );
765
- };
766
- const renderItems = () => {
767
- const { border, padding, resize, vertical } = props;
768
- const { itemList } = reactData;
769
- const vSize = computeSize.value;
770
- const actionOpts = computeActionOpts.value;
771
- const { autoHideButton } = actionOpts;
772
- const resizeOpts = computeResizeOpts.value;
773
- const { immediate } = resizeOpts;
774
- const visibleItems = computeVisibleItems.value;
775
- const { autoItems } = computeAutoItems.value;
776
- const isOnlyView = visibleItems.length <= 1;
777
- const itemVNs = [];
778
- itemList.forEach((prevItem, index) => {
779
- const { id, name, slots: slots2, renderHeight, resizeHeight, foldHeight, renderWidth, resizeWidth, foldWidth, isExpand } = prevItem;
780
- const nextItem = itemList[index + 1];
781
- const defaultSlot = slots2 ? slots2.default : null;
782
- const stys = {};
783
- let itemWidth = isExpand ? foldWidth || resizeWidth || renderWidth : 0;
784
- let itemHeight = isExpand ? foldHeight || resizeHeight || renderHeight : 0;
785
- if (autoItems.length === 1) {
725
+ },
726
+ [
727
+ h("div", {
728
+ class: "vxe-splitter-panel-handle-bar",
729
+ onMousedown: dragEvent
730
+ }),
731
+ itemList.length === 2 ? h(
732
+ "div",
733
+ {
734
+ class: "vxe-splitter-panel-action-btn-wrapper"
735
+ },
736
+ [
737
+ showPrevButton && nextItem.isExpand ? h(
738
+ "div",
739
+ {
740
+ class: ["vxe-splitter-panel-action-btn", prevItem.isExpand ? "is--prev" : "is--next"],
741
+ onDblclick: handlePrevActionDblclickEvent,
742
+ onClick: handlePrevActionClickEvent
743
+ },
744
+ [
745
+ h("i", {
746
+ class: getActionIcon(prevItem, nextItem, false)
747
+ })
748
+ ]
749
+ ) : renderEmptyElement($xeSplitter),
750
+ showNextButton && prevItem.isExpand ? h(
751
+ "div",
752
+ {
753
+ class: ["vxe-splitter-panel-action-btn", nextItem.isExpand ? "is--next" : "is--prev"],
754
+ onDblclick: handleNextActionDblclickEvent,
755
+ onClick: handleNextActionClickEvent
756
+ },
757
+ [
758
+ h("i", {
759
+ class: getActionIcon(prevItem, nextItem, true)
760
+ })
761
+ ]
762
+ ) : renderEmptyElement($xeSplitter)
763
+ ]
764
+ ) : renderEmptyElement($xeSplitter)
765
+ ]
766
+ );
767
+ };
768
+ const renderItems = () => {
769
+ const { border, padding, resize, vertical } = props;
770
+ const { itemList } = reactData;
771
+ const vSize = computeSize.value;
772
+ const actionOpts = computeActionOpts.value;
773
+ const { autoHideButton } = actionOpts;
774
+ const resizeOpts = computeResizeOpts.value;
775
+ const { immediate } = resizeOpts;
776
+ const visibleItems = computeVisibleItems.value;
777
+ const { autoItems } = computeAutoItems.value;
778
+ const isOnlyView = visibleItems.length <= 1;
779
+ const itemVNs = [];
780
+ itemList.forEach((prevItem, index) => {
781
+ const { id, name, slots: slots2, renderHeight, resizeHeight, foldHeight, renderWidth, resizeWidth, foldWidth, isExpand } = prevItem;
782
+ const nextItem = itemList[index + 1];
783
+ const defaultSlot = slots2 ? slots2.default : null;
784
+ const stys = {};
785
+ let itemWidth = isExpand ? foldWidth || resizeWidth || renderWidth : 0;
786
+ let itemHeight = isExpand ? foldHeight || resizeHeight || renderHeight : 0;
787
+ if (autoItems.length === 1) {
788
+ if (vertical) {
789
+ if (!prevItem.height) {
790
+ itemHeight = 0;
791
+ }
792
+ } else {
793
+ if (!prevItem.width) {
794
+ itemWidth = 0;
795
+ }
796
+ }
797
+ }
798
+ let isFill = true;
786
799
  if (vertical) {
787
- if (!prevItem.height) {
788
- itemHeight = 0;
800
+ if (itemHeight && visibleItems.length > 1) {
801
+ isFill = false;
802
+ stys.height = toCssUnit(itemHeight);
789
803
  }
790
804
  } else {
791
- if (!prevItem.width) {
792
- itemWidth = 0;
805
+ if (itemWidth && visibleItems.length > 1) {
806
+ isFill = false;
807
+ stys.width = toCssUnit(itemWidth);
793
808
  }
794
809
  }
795
- }
796
- let isFill = true;
797
- if (vertical) {
798
- if (itemHeight && visibleItems.length > 1) {
799
- isFill = false;
800
- stys.height = toCssUnit(itemHeight);
801
- }
802
- } else {
803
- if (itemWidth && visibleItems.length > 1) {
804
- isFill = false;
805
- stys.width = toCssUnit(itemWidth);
810
+ itemVNs.push(
811
+ h(
812
+ "div",
813
+ {
814
+ itemid: id,
815
+ class: [
816
+ "vxe-splitter-panel",
817
+ vertical ? "is--vertical" : "is--horizontal",
818
+ immediate ? "is-resize--immediate" : "is-resize--lazy",
819
+ {
820
+ [`size--${vSize}`]: vSize,
821
+ "is--resize": resize,
822
+ "is--padding": padding,
823
+ "is--border": border,
824
+ "is--height": itemHeight,
825
+ "is--width": itemWidth,
826
+ "is--visible": isExpand,
827
+ "is--hidden": !isExpand,
828
+ "is--fill": isExpand && isFill
829
+ }
830
+ ],
831
+ style: stys
832
+ },
833
+ [
834
+ h(
835
+ "div",
836
+ {
837
+ itemid: id,
838
+ class: "vxe-splitter-panel--wrapper"
839
+ },
840
+ [
841
+ h(
842
+ "div",
843
+ {
844
+ class: "vxe-splitter-panel--inner"
845
+ },
846
+ defaultSlot ? callSlot(defaultSlot, { name, isExpand }) : []
847
+ )
848
+ ]
849
+ )
850
+ ]
851
+ )
852
+ );
853
+ if (nextItem) {
854
+ itemVNs.push(renderHandleBar(prevItem, nextItem));
806
855
  }
807
- }
808
- itemVNs.push(
809
- h(
810
- "div",
811
- {
812
- itemid: id,
813
- class: [
814
- "vxe-splitter-panel",
815
- vertical ? "is--vertical" : "is--horizontal",
816
- immediate ? "is-resize--immediate" : "is-resize--lazy",
817
- {
818
- [`size--${vSize}`]: vSize,
819
- "is--resize": resize,
820
- "is--padding": padding,
821
- "is--border": border,
822
- "is--height": itemHeight,
823
- "is--width": itemWidth,
824
- "is--visible": isExpand,
825
- "is--hidden": !isExpand,
826
- "is--fill": isExpand && isFill
827
- }
828
- ],
829
- style: stys
830
- },
831
- [
832
- h(
833
- "div",
834
- {
835
- itemid: id,
836
- class: "vxe-splitter-panel--wrapper"
837
- },
838
- [
839
- h(
840
- "div",
841
- {
842
- class: "vxe-splitter-panel--inner"
843
- },
844
- defaultSlot ? callSlot(defaultSlot, { name, isExpand }) : []
845
- )
846
- ]
847
- )
856
+ });
857
+ return h(
858
+ "div",
859
+ {
860
+ class: [
861
+ "vxe-splitter-wrapper",
862
+ {
863
+ "is--ah-btn": autoHideButton,
864
+ "is--only-view": isOnlyView
865
+ }
848
866
  ]
849
- )
867
+ },
868
+ itemVNs
850
869
  );
851
- if (nextItem) {
852
- itemVNs.push(renderHandleBar(prevItem, nextItem));
853
- }
854
- });
855
- return h(
856
- "div",
857
- {
858
- class: [
859
- "vxe-splitter-wrapper",
860
- {
861
- "is--ah-btn": autoHideButton,
862
- "is--only-view": isOnlyView
863
- }
870
+ };
871
+ const renderVN = () => {
872
+ const { vertical } = props;
873
+ const vSize = computeSize.value;
874
+ const resizeOpts = computeResizeOpts.value;
875
+ const wrapperStyle = computeWrapperStyle.value;
876
+ const { immediate, showTip } = resizeOpts;
877
+ const defaultSlot = slots.default;
878
+ return h(
879
+ "div",
880
+ {
881
+ ref: refElem,
882
+ class: [
883
+ "vxe-splitter",
884
+ vertical ? "is--vertical" : "is--horizontal",
885
+ immediate ? "is-resize--immediate" : "is-resize--lazy",
886
+ {
887
+ [`size--${vSize}`]: vSize
888
+ }
889
+ ],
890
+ style: wrapperStyle
891
+ },
892
+ [
893
+ h(
894
+ "div",
895
+ {
896
+ class: "vxe-splitter-slots"
897
+ },
898
+ defaultSlot ? defaultSlot({}) : []
899
+ ),
900
+ renderItems(),
901
+ h(
902
+ "div",
903
+ {
904
+ ref: refResizableSplitterTip,
905
+ class: ["vxe-splitter--resizable-splitter-tip", vertical ? "is--vertical" : "is--horizontal", immediate ? "is-resize--immediate" : "is-resize--lazy"]
906
+ },
907
+ showTip ? [
908
+ h(
909
+ "div",
910
+ {
911
+ class: "vxe-splitter--resizable-splitter-tip-number"
912
+ },
913
+ [
914
+ h("div", {
915
+ class: "vxe-splitter--resizable-splitter-number-prev"
916
+ }),
917
+ h("div", {
918
+ class: "vxe-splitter--resizable-splitter-number-next"
919
+ })
920
+ ]
921
+ )
922
+ ] : []
923
+ ),
924
+ h(
925
+ "div",
926
+ {
927
+ class: "vxe-splitter--render-vars"
928
+ },
929
+ [
930
+ h("div", {
931
+ ref: refBarInfoElem,
932
+ class: "vxe-splitter--handle-bar-info"
933
+ })
934
+ ]
935
+ )
864
936
  ]
865
- },
866
- itemVNs
937
+ );
938
+ };
939
+ const itemFlag = ref(0);
940
+ watch(
941
+ () => props.items ? props.items.length : -1,
942
+ () => {
943
+ itemFlag.value++;
944
+ }
945
+ );
946
+ watch(
947
+ () => props.items,
948
+ () => {
949
+ itemFlag.value++;
950
+ }
867
951
  );
868
- };
869
- const renderVN = () => {
870
- const { vertical } = props;
871
- const vSize = computeSize.value;
872
- const resizeOpts = computeResizeOpts.value;
873
- const wrapperStyle = computeWrapperStyle.value;
874
- const { immediate, showTip } = resizeOpts;
875
- const defaultSlot = slots.default;
876
- return h(
877
- "div",
878
- {
879
- ref: refElem,
880
- class: [
881
- "vxe-splitter",
882
- vertical ? "is--vertical" : "is--horizontal",
883
- immediate ? "is-resize--immediate" : "is-resize--lazy",
884
- {
885
- [`size--${vSize}`]: vSize
952
+ watch(itemFlag, () => {
953
+ loadItem(props.items || []);
954
+ });
955
+ watch(
956
+ () => reactData.staticItems,
957
+ (val) => {
958
+ const actionOpts = computeActionOpts.value;
959
+ const { showPrevButton, showNextButton } = actionOpts;
960
+ if (props.items && props.items.length) {
961
+ errLog("vxe.error.errConflicts", ["<vxe-splitter-panel ...>", "items"]);
962
+ }
963
+ reactData.itemList = val || [];
964
+ if ((showPrevButton || showNextButton) && reactData.itemList.length > 2) {
965
+ errLog("vxe.error.modelConflicts", ["action-config.showPrevButton | action-config.showNextButton", "<vxe-splitter-panel ...> Only supports 2 panel"]);
966
+ }
967
+ reactData.itemList.forEach((item) => {
968
+ if (item.showAction) {
969
+ warnLog("vxe.error.removeProp", ["showAction"]);
886
970
  }
887
- ],
888
- style: wrapperStyle
889
- },
890
- [
891
- h(
892
- "div",
893
- {
894
- class: "vxe-splitter-slots"
895
- },
896
- defaultSlot ? defaultSlot({}) : []
897
- ),
898
- renderItems(),
899
- h(
900
- "div",
901
- {
902
- ref: refResizableSplitterTip,
903
- class: ["vxe-splitter--resizable-splitter-tip", vertical ? "is--vertical" : "is--horizontal", immediate ? "is-resize--immediate" : "is-resize--lazy"]
904
- },
905
- showTip ? [
906
- h(
907
- "div",
908
- {
909
- class: "vxe-splitter--resizable-splitter-tip-number"
910
- },
911
- [
912
- h("div", {
913
- class: "vxe-splitter--resizable-splitter-number-prev"
914
- }),
915
- h("div", {
916
- class: "vxe-splitter--resizable-splitter-number-next"
917
- })
918
- ]
919
- )
920
- ] : []
921
- ),
922
- h(
923
- "div",
924
- {
925
- class: "vxe-splitter--render-vars"
926
- },
927
- [
928
- h("div", {
929
- ref: refBarInfoElem,
930
- class: "vxe-splitter--handle-bar-info"
931
- })
932
- ]
933
- )
934
- ]
971
+ });
972
+ recalculate();
973
+ }
935
974
  );
936
- };
937
- const itemFlag = ref(0);
938
- watch(
939
- () => props.items ? props.items.length : -1,
940
- () => {
941
- itemFlag.value++;
942
- }
943
- );
944
- watch(
945
- () => props.items,
946
- () => {
947
- itemFlag.value++;
948
- }
949
- );
950
- watch(itemFlag, () => {
951
- loadItem(props.items || []);
952
- });
953
- watch(
954
- () => reactData.staticItems,
955
- (val) => {
975
+ let resizeObserver;
976
+ onMounted(() => {
977
+ nextTick(() => {
978
+ recalculate();
979
+ });
980
+ const el = refElem.value;
981
+ if (el) {
982
+ resizeObserver = globalResize.create(() => {
983
+ recalculate();
984
+ });
985
+ resizeObserver.observe(el);
986
+ }
956
987
  const actionOpts = computeActionOpts.value;
957
- const { showPrevButton, showNextButton } = actionOpts;
958
- if (props.items && props.items.length) {
959
- errLog("vxe.error.errConflicts", ["<vxe-splitter-panel ...>", "items"]);
988
+ if (actionOpts.direction) {
989
+ errLog("vxe.error.delProp", ["action-config.direction", "action-config.showPrevButton | action-config.showNextButton"]);
960
990
  }
961
- reactData.itemList = val || [];
962
- if ((showPrevButton || showNextButton) && reactData.itemList.length > 2) {
963
- errLog("vxe.error.modelConflicts", ["action-config.showPrevButton | action-config.showNextButton", "<vxe-splitter-panel ...> Only supports 2 panel"]);
991
+ globalEvents.on($xeSplitter, "resize", handleGlobalResizeEvent);
992
+ });
993
+ onUnmounted(() => {
994
+ if (resizeObserver) {
995
+ resizeObserver.disconnect();
964
996
  }
965
- reactData.itemList.forEach((item) => {
966
- if (item.showAction) {
967
- warnLog("vxe.error.removeProp", ["showAction"]);
968
- }
969
- });
970
- recalculate();
971
- }
972
- );
973
- let resizeObserver;
974
- onMounted(() => {
975
- nextTick(() => {
997
+ globalEvents.off($xeSplitter, "resize");
998
+ });
999
+ onActivated(() => {
976
1000
  recalculate();
977
1001
  });
978
- const el = refElem.value;
979
- if (el) {
980
- resizeObserver = globalResize.create(() => {
981
- recalculate();
982
- });
983
- resizeObserver.observe(el);
984
- }
985
- const actionOpts = computeActionOpts.value;
986
- if (actionOpts.direction) {
987
- errLog("vxe.error.delProp", ["action-config.direction", "action-config.showPrevButton | action-config.showNextButton"]);
1002
+ if (props.items) {
1003
+ loadItem(props.items);
988
1004
  }
989
- globalEvents.on($xeSplitter, "resize", handleGlobalResizeEvent);
990
- });
991
- onUnmounted(() => {
992
- if (resizeObserver) {
993
- resizeObserver.disconnect();
994
- }
995
- globalEvents.off($xeSplitter, "resize");
996
- });
997
- onActivated(() => {
998
- recalculate();
999
- });
1000
- if (props.items) {
1001
- loadItem(props.items);
1005
+ provide("$xeSplitter", $xeSplitter);
1006
+ $xeSplitter.renderVN = renderVN;
1007
+ return $xeSplitter;
1008
+ },
1009
+ render() {
1010
+ return this.renderVN();
1002
1011
  }
1003
- provide("$xeSplitter", $xeSplitter);
1004
- $xeSplitter.renderVN = renderVN;
1005
- return $xeSplitter;
1006
- },
1007
- render() {
1008
- return this.renderVN();
1009
- }
1010
- });
1012
+ })
1013
+ );
1011
1014
  export {
1012
1015
  splitter_default as default
1013
1016
  };