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
@@ -66,1530 +66,1533 @@ function createInternalData() {
66
66
  // hpTimeout: undefined
67
67
  };
68
68
  }
69
- var date_range_picker_default = (0, import_comp.defineVxeComponent)({
70
- name: "VxeDateRangePicker",
71
- props: {
72
- modelValue: [String, Number, Date, Array],
73
- startValue: [String, Number, Date],
74
- endValue: [String, Number, Date],
75
- immediate: {
76
- type: Boolean,
77
- default: true
78
- },
79
- width: [Number, String],
80
- name: String,
81
- type: {
82
- type: String,
83
- default: "date"
84
- },
85
- clearable: {
86
- type: Boolean,
87
- default: () => getConfig().dateRangePicker.clearable
88
- },
89
- linkedPanels: {
90
- type: Boolean,
91
- default: () => getConfig().dateRangePicker.linkedPanels
92
- },
93
- readonly: {
94
- type: Boolean,
95
- default: null
96
- },
97
- disabled: {
98
- type: Boolean,
99
- default: null
100
- },
101
- placeholder: String,
102
- autoComplete: {
103
- type: String,
104
- default: "off"
105
- },
106
- form: String,
107
- className: String,
108
- inputClassName: {
109
- type: String,
110
- default: () => getConfig().dateRangePicker.inputClassName
111
- },
112
- zIndex: Number,
113
- size: {
114
- type: String,
115
- default: () => getConfig().dateRangePicker.size || getConfig().size
116
- },
117
- // startDate: {
118
- // type: [String, Number, Date] as PropType<VxeDateRangePickerPropTypes.StartDate>,
119
- // default: () => getConfig().dateRangePicker.startDate
120
- // },
121
- // endDate: {
122
- // type: [String, Number, Date] as PropType<VxeDateRangePickerPropTypes.EndDate>,
123
- // default: () => getConfig().dateRangePicker.endDate
124
- // },
125
- minDate: [String, Number, Date],
126
- maxDate: [String, Number, Date],
127
- defaultDate: [String, Number, Date, Array],
128
- defaultTime: [String, Number, Date, Array],
129
- startDay: {
130
- type: [String, Number],
131
- default: () => getConfig().dateRangePicker.startDay
132
- },
133
- labelFormat: String,
134
- valueFormat: String,
135
- timeFormat: String,
136
- valueType: String,
137
- editable: {
138
- type: Boolean,
139
- default: true
140
- },
141
- festivalMethod: Function,
142
- disabledMethod: Function,
143
- separator: {
144
- type: [String, Number],
145
- default: () => getConfig().dateRangePicker.separator
146
- },
147
- // week
148
- selectDay: {
149
- type: [String, Number],
150
- default: () => getConfig().dateRangePicker.selectDay
151
- },
152
- showClearButton: {
153
- type: Boolean,
154
- default: () => getConfig().dateRangePicker.showClearButton
155
- },
156
- showConfirmButton: {
157
- type: Boolean,
158
- default: () => getConfig().dateRangePicker.showConfirmButton
159
- },
160
- autoClose: {
161
- type: Boolean,
162
- default: () => getConfig().dateRangePicker.autoClose
163
- },
164
- prefixIcon: String,
165
- suffixIcon: String,
166
- /**
167
- * 已废弃,请使用 popupConfig.placement
168
- * @deprecated
169
- */
170
- placement: String,
171
- /**
172
- * 已废弃,请使用 popupConfig.transfer
173
- * @deprecated
174
- */
175
- transfer: {
176
- type: Boolean,
177
- default: null
69
+ var date_range_picker_default = (
70
+ /* define-vxe-component start */
71
+ (0, import_comp.defineVxeComponent)({
72
+ name: "VxeDateRangePicker",
73
+ props: {
74
+ modelValue: [String, Number, Date, Array],
75
+ startValue: [String, Number, Date],
76
+ endValue: [String, Number, Date],
77
+ immediate: {
78
+ type: Boolean,
79
+ default: true
80
+ },
81
+ width: [Number, String],
82
+ name: String,
83
+ type: {
84
+ type: String,
85
+ default: "date"
86
+ },
87
+ clearable: {
88
+ type: Boolean,
89
+ default: () => getConfig().dateRangePicker.clearable
90
+ },
91
+ linkedPanels: {
92
+ type: Boolean,
93
+ default: () => getConfig().dateRangePicker.linkedPanels
94
+ },
95
+ readonly: {
96
+ type: Boolean,
97
+ default: null
98
+ },
99
+ disabled: {
100
+ type: Boolean,
101
+ default: null
102
+ },
103
+ placeholder: String,
104
+ autoComplete: {
105
+ type: String,
106
+ default: "off"
107
+ },
108
+ form: String,
109
+ className: String,
110
+ inputClassName: {
111
+ type: String,
112
+ default: () => getConfig().dateRangePicker.inputClassName
113
+ },
114
+ zIndex: Number,
115
+ size: {
116
+ type: String,
117
+ default: () => getConfig().dateRangePicker.size || getConfig().size
118
+ },
119
+ // startDate: {
120
+ // type: [String, Number, Date] as PropType<VxeDateRangePickerPropTypes.StartDate>,
121
+ // default: () => getConfig().dateRangePicker.startDate
122
+ // },
123
+ // endDate: {
124
+ // type: [String, Number, Date] as PropType<VxeDateRangePickerPropTypes.EndDate>,
125
+ // default: () => getConfig().dateRangePicker.endDate
126
+ // },
127
+ minDate: [String, Number, Date],
128
+ maxDate: [String, Number, Date],
129
+ defaultDate: [String, Number, Date, Array],
130
+ defaultTime: [String, Number, Date, Array],
131
+ startDay: {
132
+ type: [String, Number],
133
+ default: () => getConfig().dateRangePicker.startDay
134
+ },
135
+ labelFormat: String,
136
+ valueFormat: String,
137
+ timeFormat: String,
138
+ valueType: String,
139
+ editable: {
140
+ type: Boolean,
141
+ default: true
142
+ },
143
+ festivalMethod: Function,
144
+ disabledMethod: Function,
145
+ separator: {
146
+ type: [String, Number],
147
+ default: () => getConfig().dateRangePicker.separator
148
+ },
149
+ // week
150
+ selectDay: {
151
+ type: [String, Number],
152
+ default: () => getConfig().dateRangePicker.selectDay
153
+ },
154
+ showClearButton: {
155
+ type: Boolean,
156
+ default: () => getConfig().dateRangePicker.showClearButton
157
+ },
158
+ showConfirmButton: {
159
+ type: Boolean,
160
+ default: () => getConfig().dateRangePicker.showConfirmButton
161
+ },
162
+ autoClose: {
163
+ type: Boolean,
164
+ default: () => getConfig().dateRangePicker.autoClose
165
+ },
166
+ prefixIcon: String,
167
+ suffixIcon: String,
168
+ /**
169
+ * 已废弃,请使用 popupConfig.placement
170
+ * @deprecated
171
+ */
172
+ placement: String,
173
+ /**
174
+ * 已废弃,请使用 popupConfig.transfer
175
+ * @deprecated
176
+ */
177
+ transfer: {
178
+ type: Boolean,
179
+ default: null
180
+ },
181
+ timeConfig: Object,
182
+ popupConfig: Object,
183
+ shortcutConfig: Object
178
184
  },
179
- timeConfig: Object,
180
- popupConfig: Object,
181
- shortcutConfig: Object
182
- },
183
- emits: ["update:modelValue", "update:startValue", "update:endValue", "input", "change", "keydown", "keyup", "click", "focus", "blur", "clear", "confirm", "prefix-click", "suffix-click", "date-prev", "date-today", "date-next", "shortcut-click"],
184
- setup(props, context) {
185
- const { slots, emit } = context;
186
- const $xeModal = (0, import_vue.inject)("$xeModal", null);
187
- const $xeDrawer = (0, import_vue.inject)("$xeDrawer", null);
188
- const $xeTable = (0, import_vue.inject)("$xeTable", null);
189
- const $xeCard = (0, import_vue.inject)("$xeCard", null);
190
- const $xeForm = (0, import_vue.inject)("$xeForm", null);
191
- const formItemInfo = (0, import_vue.inject)("xeFormItemInfo", null);
192
- const xID = import_xe_utils.default.uniqueId();
193
- const { computeSize } = useFns.useSize(props);
194
- const reactData = (0, import_vue.reactive)(createReactData());
195
- const internalData = createInternalData();
196
- const defaultFuncProps = {
197
- festivalMethod: getConfig().dateRangePicker.festivalMethod,
198
- disabledMethod: getConfig().dateRangePicker.disabledMethod
199
- };
200
- const refElem = (0, import_vue.ref)();
201
- const refInputTarget = (0, import_vue.ref)();
202
- const refInputPanel = (0, import_vue.ref)();
203
- const refPanelWrapper = (0, import_vue.ref)();
204
- const refStartDatePanel = (0, import_vue.ref)();
205
- const refEndDatePanel = (0, import_vue.ref)();
206
- const refMaps = {
207
- refElem,
208
- refInput: refInputTarget
209
- };
210
- const $xeDateRangePicker = {
211
- xID,
212
- props,
213
- context,
214
- reactData,
215
- internalData,
216
- getRefMaps: () => refMaps
217
- };
218
- let dateRangePickerMethods = {};
219
- const computeBtnTransfer = (0, import_vue.computed)(() => {
220
- const { transfer } = props;
221
- const popupOpts = computePopupOpts.value;
222
- if (import_xe_utils.default.isBoolean(popupOpts.transfer)) {
223
- return popupOpts.transfer;
224
- }
225
- if (transfer === null) {
226
- const globalTransfer = getConfig().dateRangePicker.transfer;
227
- if (import_xe_utils.default.isBoolean(globalTransfer)) {
228
- return globalTransfer;
185
+ emits: ["update:modelValue", "update:startValue", "update:endValue", "input", "change", "keydown", "keyup", "click", "focus", "blur", "clear", "confirm", "prefix-click", "suffix-click", "date-prev", "date-today", "date-next", "shortcut-click"],
186
+ setup(props, context) {
187
+ const { slots, emit } = context;
188
+ const $xeModal = (0, import_vue.inject)("$xeModal", null);
189
+ const $xeDrawer = (0, import_vue.inject)("$xeDrawer", null);
190
+ const $xeTable = (0, import_vue.inject)("$xeTable", null);
191
+ const $xeCard = (0, import_vue.inject)("$xeCard", null);
192
+ const $xeForm = (0, import_vue.inject)("$xeForm", null);
193
+ const formItemInfo = (0, import_vue.inject)("xeFormItemInfo", null);
194
+ const xID = import_xe_utils.default.uniqueId();
195
+ const { computeSize } = useFns.useSize(props);
196
+ const reactData = (0, import_vue.reactive)(createReactData());
197
+ const internalData = createInternalData();
198
+ const defaultFuncProps = {
199
+ festivalMethod: getConfig().dateRangePicker.festivalMethod,
200
+ disabledMethod: getConfig().dateRangePicker.disabledMethod
201
+ };
202
+ const refElem = (0, import_vue.ref)();
203
+ const refInputTarget = (0, import_vue.ref)();
204
+ const refInputPanel = (0, import_vue.ref)();
205
+ const refPanelWrapper = (0, import_vue.ref)();
206
+ const refStartDatePanel = (0, import_vue.ref)();
207
+ const refEndDatePanel = (0, import_vue.ref)();
208
+ const refMaps = {
209
+ refElem,
210
+ refInput: refInputTarget
211
+ };
212
+ const $xeDateRangePicker = {
213
+ xID,
214
+ props,
215
+ context,
216
+ reactData,
217
+ internalData,
218
+ getRefMaps: () => refMaps
219
+ };
220
+ let dateRangePickerMethods = {};
221
+ const computeBtnTransfer = (0, import_vue.computed)(() => {
222
+ const { transfer } = props;
223
+ const popupOpts = computePopupOpts.value;
224
+ if (import_xe_utils.default.isBoolean(popupOpts.transfer)) {
225
+ return popupOpts.transfer;
229
226
  }
230
- if ($xeTable || $xeModal || $xeDrawer || $xeCard || $xeForm) {
231
- return true;
227
+ if (transfer === null) {
228
+ const globalTransfer = getConfig().dateRangePicker.transfer;
229
+ if (import_xe_utils.default.isBoolean(globalTransfer)) {
230
+ return globalTransfer;
231
+ }
232
+ if ($xeTable || $xeModal || $xeDrawer || $xeCard || $xeForm) {
233
+ return true;
234
+ }
232
235
  }
233
- }
234
- return transfer;
235
- });
236
- const computeFormReadonly = (0, import_vue.computed)(() => {
237
- const { readonly } = props;
238
- if (readonly === null) {
239
- if ($xeForm) {
240
- return $xeForm.props.readonly;
236
+ return transfer;
237
+ });
238
+ const computeFormReadonly = (0, import_vue.computed)(() => {
239
+ const { readonly } = props;
240
+ if (readonly === null) {
241
+ if ($xeForm) {
242
+ return $xeForm.props.readonly;
243
+ }
244
+ return false;
241
245
  }
242
- return false;
243
- }
244
- return readonly;
245
- });
246
- const computeIsDisabled = (0, import_vue.computed)(() => {
247
- const { disabled } = props;
248
- if (disabled === null) {
249
- if ($xeForm) {
250
- return $xeForm.props.disabled;
246
+ return readonly;
247
+ });
248
+ const computeIsDisabled = (0, import_vue.computed)(() => {
249
+ const { disabled } = props;
250
+ if (disabled === null) {
251
+ if ($xeForm) {
252
+ return $xeForm.props.disabled;
253
+ }
254
+ return false;
251
255
  }
252
- return false;
253
- }
254
- return disabled;
255
- });
256
- const computeDefaultDates = (0, import_vue.computed)(() => {
257
- const { defaultDate } = props;
258
- if (defaultDate) {
259
- if (import_xe_utils.default.isArray(defaultDate)) {
260
- return defaultDate;
256
+ return disabled;
257
+ });
258
+ const computeDefaultDates = (0, import_vue.computed)(() => {
259
+ const { defaultDate } = props;
260
+ if (defaultDate) {
261
+ if (import_xe_utils.default.isArray(defaultDate)) {
262
+ return defaultDate;
263
+ }
264
+ if (`${defaultDate}`.indexOf(",") > -1) {
265
+ return `${defaultDate}`.split(",");
266
+ }
267
+ return [defaultDate, defaultDate];
261
268
  }
262
- if (`${defaultDate}`.indexOf(",") > -1) {
263
- return `${defaultDate}`.split(",");
269
+ return [];
270
+ });
271
+ const computeDefaultTimes = (0, import_vue.computed)(() => {
272
+ const { defaultTime } = props;
273
+ if (defaultTime) {
274
+ if (import_xe_utils.default.isArray(defaultTime)) {
275
+ return defaultTime;
276
+ }
277
+ if (`${defaultTime}`.indexOf(",") > -1) {
278
+ return `${defaultTime}`.split(",");
279
+ }
280
+ return [defaultTime, defaultTime];
264
281
  }
265
- return [defaultDate, defaultDate];
266
- }
267
- return [];
268
- });
269
- const computeDefaultTimes = (0, import_vue.computed)(() => {
270
- const { defaultTime } = props;
271
- if (defaultTime) {
272
- if (import_xe_utils.default.isArray(defaultTime)) {
273
- return defaultTime;
282
+ return [];
283
+ });
284
+ const computeCurrStyle = (0, import_vue.computed)(() => {
285
+ const { width } = props;
286
+ const stys = {};
287
+ if (width) {
288
+ stys.width = (0, import_dom.toCssUnit)(width);
274
289
  }
275
- if (`${defaultTime}`.indexOf(",") > -1) {
276
- return `${defaultTime}`.split(",");
290
+ return stys;
291
+ });
292
+ const computeMVal = (0, import_vue.computed)(() => {
293
+ const { startValue, endValue } = props;
294
+ return `${startValue || ""}${endValue || ""}`;
295
+ });
296
+ const computeIsTimeType = (0, import_vue.computed)(() => {
297
+ const { type } = props;
298
+ return type === "time";
299
+ });
300
+ const computeIsTimeOrDateTimeType = (0, import_vue.computed)(() => {
301
+ const { type } = props;
302
+ const isTimeType = computeIsTimeType.value;
303
+ return isTimeType || type === "datetime";
304
+ });
305
+ const computeIsDatePickerType = (0, import_vue.computed)(() => {
306
+ return ["date", "week", "month", "quarter", "year"].indexOf(props.type) > -1;
307
+ });
308
+ const computeIsClearable = (0, import_vue.computed)(() => {
309
+ return props.clearable;
310
+ });
311
+ const computeInpPlaceholder = (0, import_vue.computed)(() => {
312
+ const { placeholder } = props;
313
+ if (placeholder) {
314
+ return (0, import_utils.getFuncText)(placeholder);
277
315
  }
278
- return [defaultTime, defaultTime];
279
- }
280
- return [];
281
- });
282
- const computeCurrStyle = (0, import_vue.computed)(() => {
283
- const { width } = props;
284
- const stys = {};
285
- if (width) {
286
- stys.width = (0, import_dom.toCssUnit)(width);
287
- }
288
- return stys;
289
- });
290
- const computeMVal = (0, import_vue.computed)(() => {
291
- const { startValue, endValue } = props;
292
- return `${startValue || ""}${endValue || ""}`;
293
- });
294
- const computeIsTimeType = (0, import_vue.computed)(() => {
295
- const { type } = props;
296
- return type === "time";
297
- });
298
- const computeIsTimeOrDateTimeType = (0, import_vue.computed)(() => {
299
- const { type } = props;
300
- const isTimeType = computeIsTimeType.value;
301
- return isTimeType || type === "datetime";
302
- });
303
- const computeIsDatePickerType = (0, import_vue.computed)(() => {
304
- return ["date", "week", "month", "quarter", "year"].indexOf(props.type) > -1;
305
- });
306
- const computeIsClearable = (0, import_vue.computed)(() => {
307
- return props.clearable;
308
- });
309
- const computeInpPlaceholder = (0, import_vue.computed)(() => {
310
- const { placeholder } = props;
311
- if (placeholder) {
312
- return (0, import_utils.getFuncText)(placeholder);
313
- }
314
- const globalPlaceholder = getConfig().dateRangePicker.placeholder;
315
- if (globalPlaceholder) {
316
- return (0, import_utils.getFuncText)(globalPlaceholder);
317
- }
318
- return getI18n("vxe.dateRangePicker.pleaseRange");
319
- });
320
- const computeInpImmediate = (0, import_vue.computed)(() => {
321
- const { immediate } = props;
322
- return immediate;
323
- });
324
- const computeTimeOpts = (0, import_vue.computed)(() => {
325
- return Object.assign({}, getConfig().dateRangePicker.timeConfig, props.timeConfig);
326
- });
327
- const computePopupOpts = (0, import_vue.computed)(() => {
328
- return Object.assign({}, getConfig().dateRangePicker.popupConfig, props.popupConfig);
329
- });
330
- const computeShortcutOpts = (0, import_vue.computed)(() => {
331
- return Object.assign({}, getConfig().dateRangePicker.shortcutConfig, props.shortcutConfig);
332
- });
333
- const computeShortcutList = (0, import_vue.computed)(() => {
334
- const shortcutOpts = computeShortcutOpts.value;
335
- const { options } = shortcutOpts;
336
- if (options) {
337
- return options.map((option, index) => {
338
- return Object.assign(
339
- {
340
- name: `${option.name || option.code || index}`
341
- },
342
- option
343
- );
344
- });
345
- }
346
- return [];
347
- });
348
- const computeDateLabelFormat = (0, import_vue.computed)(() => {
349
- const { labelFormat } = props;
350
- return labelFormat || getI18n(`vxe.input.date.labelFormat.${props.type}`);
351
- });
352
- const computeDateValueFormat = (0, import_vue.computed)(() => {
353
- const { type, valueFormat } = props;
354
- return (0, import_util.handleValueFormat)(type, valueFormat);
355
- });
356
- const computeFirstDayOfWeek = (0, import_vue.computed)(() => {
357
- const { startDay } = props;
358
- return import_xe_utils.default.toNumber(startDay);
359
- });
360
- const computePanelLabelObj = (0, import_vue.computed)(() => {
361
- const { selectStValue, selectEdValue } = reactData;
362
- const vals = selectStValue || selectEdValue ? [selectStValue || "", selectEdValue || ""] : [];
363
- return formatRangeLabel(vals);
364
- });
365
- const computeInputLabel = (0, import_vue.computed)(() => {
366
- const panelLabelObj = computePanelLabelObj.value;
367
- return panelLabelObj.label;
368
- });
369
- const formatRangeLabel = (vals) => {
370
- const { type, separator } = props;
371
- const dateLabelFormat = computeDateLabelFormat.value;
372
- const dateValueFormat = computeDateValueFormat.value;
373
- const firstDayOfWeek = computeFirstDayOfWeek.value;
374
- const startRest = vals[0] ? (0, import_util.parseDateObj)(vals[0], type, {
375
- valueFormat: dateValueFormat,
376
- labelFormat: dateLabelFormat,
377
- firstDay: firstDayOfWeek
378
- }) : null;
379
- const endRest = vals[1] ? (0, import_util.parseDateObj)(vals[1], type, {
380
- valueFormat: dateValueFormat,
381
- labelFormat: dateLabelFormat,
382
- firstDay: firstDayOfWeek
383
- }) : null;
384
- const startLabel = startRest ? startRest.label : "";
385
- const endLabel = endRest ? endRest.label : "";
386
- return {
387
- label: (startLabel || endLabel ? [startLabel, endLabel] : []).join(`${separator || " ~ "}`),
388
- startLabel,
389
- endLabel
390
- };
391
- };
392
- const getRangeValue = (sValue, eValue) => {
393
- const { modelValue, valueType, valueFormat } = props;
394
- let isArr = valueFormat === "date" || import_xe_utils.default.isArray(modelValue);
395
- if (valueType) {
396
- switch (valueType) {
397
- case "array":
398
- isArr = true;
399
- break;
400
- case "string":
401
- isArr = false;
402
- break;
316
+ const globalPlaceholder = getConfig().dateRangePicker.placeholder;
317
+ if (globalPlaceholder) {
318
+ return (0, import_utils.getFuncText)(globalPlaceholder);
403
319
  }
404
- }
405
- if (sValue || eValue) {
406
- const rest = [sValue || null, eValue || null];
407
- if (isArr) {
408
- return rest;
320
+ return getI18n("vxe.dateRangePicker.pleaseRange");
321
+ });
322
+ const computeInpImmediate = (0, import_vue.computed)(() => {
323
+ const { immediate } = props;
324
+ return immediate;
325
+ });
326
+ const computeTimeOpts = (0, import_vue.computed)(() => {
327
+ return Object.assign({}, getConfig().dateRangePicker.timeConfig, props.timeConfig);
328
+ });
329
+ const computePopupOpts = (0, import_vue.computed)(() => {
330
+ return Object.assign({}, getConfig().dateRangePicker.popupConfig, props.popupConfig);
331
+ });
332
+ const computeShortcutOpts = (0, import_vue.computed)(() => {
333
+ return Object.assign({}, getConfig().dateRangePicker.shortcutConfig, props.shortcutConfig);
334
+ });
335
+ const computeShortcutList = (0, import_vue.computed)(() => {
336
+ const shortcutOpts = computeShortcutOpts.value;
337
+ const { options } = shortcutOpts;
338
+ if (options) {
339
+ return options.map((option, index) => {
340
+ return Object.assign(
341
+ {
342
+ name: `${option.name || option.code || index}`
343
+ },
344
+ option
345
+ );
346
+ });
409
347
  }
410
- return rest.join(",");
411
- }
412
- return isArr ? [] : "";
413
- };
414
- const paraeUpdateModel = () => {
415
- const { type, modelValue } = props;
416
- const dateValueFormat = computeDateValueFormat.value;
417
- let sValue = "";
418
- let eValue = "";
419
- if (import_xe_utils.default.isArray(modelValue)) {
420
- const date1 = (0, import_util.parseDateString)(modelValue[0], type, { valueFormat: dateValueFormat });
421
- const date2 = (0, import_util.parseDateString)(modelValue[1], type, { valueFormat: dateValueFormat });
422
- if (date1 || date2) {
423
- sValue = date1 || "";
424
- eValue = date2 || "";
348
+ return [];
349
+ });
350
+ const computeDateLabelFormat = (0, import_vue.computed)(() => {
351
+ const { labelFormat } = props;
352
+ return labelFormat || getI18n(`vxe.input.date.labelFormat.${props.type}`);
353
+ });
354
+ const computeDateValueFormat = (0, import_vue.computed)(() => {
355
+ const { type, valueFormat } = props;
356
+ return (0, import_util.handleValueFormat)(type, valueFormat);
357
+ });
358
+ const computeFirstDayOfWeek = (0, import_vue.computed)(() => {
359
+ const { startDay } = props;
360
+ return import_xe_utils.default.toNumber(startDay);
361
+ });
362
+ const computePanelLabelObj = (0, import_vue.computed)(() => {
363
+ const { selectStValue, selectEdValue } = reactData;
364
+ const vals = selectStValue || selectEdValue ? [selectStValue || "", selectEdValue || ""] : [];
365
+ return formatRangeLabel(vals);
366
+ });
367
+ const computeInputLabel = (0, import_vue.computed)(() => {
368
+ const panelLabelObj = computePanelLabelObj.value;
369
+ return panelLabelObj.label;
370
+ });
371
+ const formatRangeLabel = (vals) => {
372
+ const { type, separator } = props;
373
+ const dateLabelFormat = computeDateLabelFormat.value;
374
+ const dateValueFormat = computeDateValueFormat.value;
375
+ const firstDayOfWeek = computeFirstDayOfWeek.value;
376
+ const startRest = vals[0] ? (0, import_util.parseDateObj)(vals[0], type, {
377
+ valueFormat: dateValueFormat,
378
+ labelFormat: dateLabelFormat,
379
+ firstDay: firstDayOfWeek
380
+ }) : null;
381
+ const endRest = vals[1] ? (0, import_util.parseDateObj)(vals[1], type, {
382
+ valueFormat: dateValueFormat,
383
+ labelFormat: dateLabelFormat,
384
+ firstDay: firstDayOfWeek
385
+ }) : null;
386
+ const startLabel = startRest ? startRest.label : "";
387
+ const endLabel = endRest ? endRest.label : "";
388
+ return {
389
+ label: (startLabel || endLabel ? [startLabel, endLabel] : []).join(`${separator || " ~ "}`),
390
+ startLabel,
391
+ endLabel
392
+ };
393
+ };
394
+ const getRangeValue = (sValue, eValue) => {
395
+ const { modelValue, valueType, valueFormat } = props;
396
+ let isArr = valueFormat === "date" || import_xe_utils.default.isArray(modelValue);
397
+ if (valueType) {
398
+ switch (valueType) {
399
+ case "array":
400
+ isArr = true;
401
+ break;
402
+ case "string":
403
+ isArr = false;
404
+ break;
405
+ }
425
406
  }
426
- } else if (import_xe_utils.default.isString(modelValue)) {
427
- const strArr = modelValue.split(",");
428
- if (strArr[0] || strArr[1]) {
429
- sValue = strArr[0] || "";
430
- eValue = strArr[1] || "";
407
+ if (sValue || eValue) {
408
+ const rest = [sValue || null, eValue || null];
409
+ if (isArr) {
410
+ return rest;
411
+ }
412
+ return rest.join(",");
431
413
  }
432
- }
433
- return {
434
- sValue,
435
- eValue
414
+ return isArr ? [] : "";
436
415
  };
437
- };
438
- const parseUpdateData = () => {
439
- const { type, startValue, endValue } = props;
440
- const dateValueFormat = computeDateValueFormat.value;
441
- let sValue = "";
442
- let eValue = "";
443
- sValue = (0, import_util.parseDateString)(startValue, type, { valueFormat: dateValueFormat });
444
- eValue = (0, import_util.parseDateString)(endValue, type, { valueFormat: dateValueFormat });
445
- return {
446
- sValue,
447
- eValue
416
+ const paraeUpdateModel = () => {
417
+ const { type, modelValue } = props;
418
+ const dateValueFormat = computeDateValueFormat.value;
419
+ let sValue = "";
420
+ let eValue = "";
421
+ if (import_xe_utils.default.isArray(modelValue)) {
422
+ const date1 = (0, import_util.parseDateString)(modelValue[0], type, { valueFormat: dateValueFormat });
423
+ const date2 = (0, import_util.parseDateString)(modelValue[1], type, { valueFormat: dateValueFormat });
424
+ if (date1 || date2) {
425
+ sValue = date1 || "";
426
+ eValue = date2 || "";
427
+ }
428
+ } else if (import_xe_utils.default.isString(modelValue)) {
429
+ const strArr = modelValue.split(",");
430
+ if (strArr[0] || strArr[1]) {
431
+ sValue = strArr[0] || "";
432
+ eValue = strArr[1] || "";
433
+ }
434
+ }
435
+ return {
436
+ sValue,
437
+ eValue
438
+ };
448
439
  };
449
- };
450
- const updateModelValue = (isModel) => {
451
- const { modelValue, startValue, endValue, valueFormat } = props;
452
- let restObj = {
453
- sValue: "",
454
- eValue: ""
440
+ const parseUpdateData = () => {
441
+ const { type, startValue, endValue } = props;
442
+ const dateValueFormat = computeDateValueFormat.value;
443
+ let sValue = "";
444
+ let eValue = "";
445
+ sValue = (0, import_util.parseDateString)(startValue, type, { valueFormat: dateValueFormat });
446
+ eValue = (0, import_util.parseDateString)(endValue, type, { valueFormat: dateValueFormat });
447
+ return {
448
+ sValue,
449
+ eValue
450
+ };
455
451
  };
456
- if (isModel) {
457
- if (modelValue) {
458
- restObj = paraeUpdateModel();
459
- } else {
460
- restObj = parseUpdateData();
461
- }
462
- } else {
463
- if (startValue || endValue) {
464
- restObj = parseUpdateData();
452
+ const updateModelValue = (isModel) => {
453
+ const { modelValue, startValue, endValue, valueFormat } = props;
454
+ let restObj = {
455
+ sValue: "",
456
+ eValue: ""
457
+ };
458
+ if (isModel) {
459
+ if (modelValue) {
460
+ restObj = paraeUpdateModel();
461
+ } else {
462
+ restObj = parseUpdateData();
463
+ }
465
464
  } else {
466
- restObj = paraeUpdateModel();
465
+ if (startValue || endValue) {
466
+ restObj = parseUpdateData();
467
+ } else {
468
+ restObj = paraeUpdateModel();
469
+ }
467
470
  }
468
- }
469
- let startRest = restObj.sValue;
470
- let endRest = restObj.eValue;
471
- if (valueFormat === "timestamp") {
472
- if (import_xe_utils.default.isString(startRest) && /^\d+$/.test(startRest)) {
473
- startRest = Number(startRest);
471
+ let startRest = restObj.sValue;
472
+ let endRest = restObj.eValue;
473
+ if (valueFormat === "timestamp") {
474
+ if (import_xe_utils.default.isString(startRest) && /^\d+$/.test(startRest)) {
475
+ startRest = Number(startRest);
476
+ }
477
+ if (import_xe_utils.default.isString(endRest) && /^\d+$/.test(endRest)) {
478
+ endRest = Number(endRest);
479
+ }
474
480
  }
475
- if (import_xe_utils.default.isString(endRest) && /^\d+$/.test(endRest)) {
476
- endRest = Number(endRest);
481
+ reactData.selectStValue = startRest;
482
+ reactData.selectEdValue = endRest;
483
+ reactData.paneEndVal = [startRest, endRest];
484
+ reactData.paneStartVal = [startRest, endRest];
485
+ };
486
+ const triggerEvent = (evnt) => {
487
+ const { selectStValue, selectEdValue } = reactData;
488
+ const value = getRangeValue(selectStValue, selectEdValue);
489
+ dispatchEvent(evnt.type, { value, startValue: selectStValue, endValue: selectEdValue }, evnt);
490
+ };
491
+ const handleChange = (sValue, eValue, evnt) => {
492
+ const { type, modelValue, valueFormat } = props;
493
+ const dateValueFormat = computeDateValueFormat.value;
494
+ let startRest = sValue;
495
+ let endRest = eValue;
496
+ if ((0, import_util.hasTimestampValueType)(valueFormat)) {
497
+ if (startRest) {
498
+ const dateVal = (0, import_util.parseDateValue)(startRest, type, { valueFormat: dateValueFormat });
499
+ startRest = dateVal ? dateVal.getTime() : null;
500
+ }
501
+ if (endRest) {
502
+ const dateVal = (0, import_util.parseDateValue)(endRest, type, { valueFormat: dateValueFormat });
503
+ endRest = dateVal ? dateVal.getTime() : null;
504
+ }
505
+ } else if ((0, import_util.hasDateValueType)(valueFormat)) {
506
+ if (startRest) {
507
+ startRest = (0, import_util.parseDateValue)(startRest, type, { valueFormat: dateValueFormat });
508
+ }
509
+ if (endRest) {
510
+ endRest = (0, import_util.parseDateValue)(endRest, type, { valueFormat: dateValueFormat });
511
+ }
477
512
  }
478
- }
479
- reactData.selectStValue = startRest;
480
- reactData.selectEdValue = endRest;
481
- reactData.paneEndVal = [startRest, endRest];
482
- reactData.paneStartVal = [startRest, endRest];
483
- };
484
- const triggerEvent = (evnt) => {
485
- const { selectStValue, selectEdValue } = reactData;
486
- const value = getRangeValue(selectStValue, selectEdValue);
487
- dispatchEvent(evnt.type, { value, startValue: selectStValue, endValue: selectEdValue }, evnt);
488
- };
489
- const handleChange = (sValue, eValue, evnt) => {
490
- const { type, modelValue, valueFormat } = props;
491
- const dateValueFormat = computeDateValueFormat.value;
492
- let startRest = sValue;
493
- let endRest = eValue;
494
- if ((0, import_util.hasTimestampValueType)(valueFormat)) {
495
- if (startRest) {
496
- const dateVal = (0, import_util.parseDateValue)(startRest, type, { valueFormat: dateValueFormat });
497
- startRest = dateVal ? dateVal.getTime() : null;
513
+ reactData.selectStValue = startRest;
514
+ reactData.selectEdValue = endRest;
515
+ const value = getRangeValue(startRest, endRest);
516
+ const isFinish = startRest && endRest || !startRest && !endRest;
517
+ emitModel(value);
518
+ emit("update:startValue", startRest || "");
519
+ emit("update:endValue", endRest || "");
520
+ if (import_xe_utils.default.toValueString(modelValue) !== value) {
521
+ dispatchEvent("change", { value, startValue: startRest, endValue: endRest, isFinish }, evnt);
522
+ if ($xeForm && formItemInfo) {
523
+ $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
524
+ }
498
525
  }
499
- if (endRest) {
500
- const dateVal = (0, import_util.parseDateValue)(endRest, type, { valueFormat: dateValueFormat });
501
- endRest = dateVal ? dateVal.getTime() : null;
526
+ };
527
+ const changeEvent = (evnt) => {
528
+ const inpImmediate = computeInpImmediate.value;
529
+ if (!inpImmediate) {
530
+ triggerEvent(evnt);
502
531
  }
503
- } else if ((0, import_util.hasDateValueType)(valueFormat)) {
504
- if (startRest) {
505
- startRest = (0, import_util.parseDateValue)(startRest, type, { valueFormat: dateValueFormat });
532
+ };
533
+ const focusEvent = (evnt) => {
534
+ const popupOpts = computePopupOpts.value;
535
+ const { trigger } = popupOpts;
536
+ reactData.isActivated = true;
537
+ if (!trigger || trigger === "default") {
538
+ dateRangePickerOpenEvent(evnt);
539
+ } else if (trigger === "icon") {
540
+ hidePanel();
506
541
  }
507
- if (endRest) {
508
- endRest = (0, import_util.parseDateValue)(endRest, type, { valueFormat: dateValueFormat });
542
+ triggerEvent(evnt);
543
+ };
544
+ const clickPrefixEvent = (evnt) => {
545
+ const isDisabled = computeIsDisabled.value;
546
+ if (!isDisabled) {
547
+ const { selectStValue, selectEdValue } = reactData;
548
+ const value = getRangeValue(selectStValue, selectEdValue);
549
+ dispatchEvent("prefix-click", { value, startValue: selectStValue, endValue: selectEdValue }, evnt);
509
550
  }
510
- }
511
- reactData.selectStValue = startRest;
512
- reactData.selectEdValue = endRest;
513
- const value = getRangeValue(startRest, endRest);
514
- const isFinish = startRest && endRest || !startRest && !endRest;
515
- emitModel(value);
516
- emit("update:startValue", startRest || "");
517
- emit("update:endValue", endRest || "");
518
- if (import_xe_utils.default.toValueString(modelValue) !== value) {
519
- dispatchEvent("change", { value, startValue: startRest, endValue: endRest, isFinish }, evnt);
520
- if ($xeForm && formItemInfo) {
521
- $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
551
+ };
552
+ const hidePanel = () => {
553
+ return new Promise((resolve) => {
554
+ reactData.visiblePanel = false;
555
+ internalData.hpTimeout = setTimeout(() => {
556
+ reactData.isAniVisible = false;
557
+ resolve();
558
+ }, 350);
559
+ });
560
+ };
561
+ const clearValueEvent = (evnt, value) => {
562
+ const isDatePickerType = computeIsDatePickerType.value;
563
+ if (isDatePickerType) {
564
+ hidePanel();
522
565
  }
523
- }
524
- };
525
- const changeEvent = (evnt) => {
526
- const inpImmediate = computeInpImmediate.value;
527
- if (!inpImmediate) {
528
- triggerEvent(evnt);
529
- }
530
- };
531
- const focusEvent = (evnt) => {
532
- const popupOpts = computePopupOpts.value;
533
- const { trigger } = popupOpts;
534
- reactData.isActivated = true;
535
- if (!trigger || trigger === "default") {
536
- dateRangePickerOpenEvent(evnt);
537
- } else if (trigger === "icon") {
538
- hidePanel();
539
- }
540
- triggerEvent(evnt);
541
- };
542
- const clickPrefixEvent = (evnt) => {
543
- const isDisabled = computeIsDisabled.value;
544
- if (!isDisabled) {
545
- const { selectStValue, selectEdValue } = reactData;
546
- const value = getRangeValue(selectStValue, selectEdValue);
547
- dispatchEvent("prefix-click", { value, startValue: selectStValue, endValue: selectEdValue }, evnt);
548
- }
549
- };
550
- const hidePanel = () => {
551
- return new Promise((resolve) => {
552
- reactData.visiblePanel = false;
553
- internalData.hpTimeout = setTimeout(() => {
554
- reactData.isAniVisible = false;
555
- resolve();
556
- }, 350);
557
- });
558
- };
559
- const clearValueEvent = (evnt, value) => {
560
- const isDatePickerType = computeIsDatePickerType.value;
561
- if (isDatePickerType) {
562
- hidePanel();
563
- }
564
- const startValue = "";
565
- const endValue = "";
566
- handleChange(startValue, endValue, evnt);
567
- dispatchEvent("clear", { value, startValue, endValue }, evnt);
568
- };
569
- const checkValue = () => {
570
- const $startDatePanel = refStartDatePanel.value;
571
- const $endDatePanel = refEndDatePanel.value;
572
- if ($startDatePanel && $endDatePanel) {
573
- const startValue = $startDatePanel.getModelValue();
574
- const endValue = $endDatePanel.getModelValue();
575
- if (!startValue || !endValue) {
576
- handleChange("", "", { type: "check" });
566
+ const startValue = "";
567
+ const endValue = "";
568
+ handleChange(startValue, endValue, evnt);
569
+ dispatchEvent("clear", { value, startValue, endValue }, evnt);
570
+ };
571
+ const checkValue = () => {
572
+ const $startDatePanel = refStartDatePanel.value;
573
+ const $endDatePanel = refEndDatePanel.value;
574
+ if ($startDatePanel && $endDatePanel) {
575
+ const startValue = $startDatePanel.getModelValue();
576
+ const endValue = $endDatePanel.getModelValue();
577
+ if (!startValue || !endValue) {
578
+ handleChange("", "", { type: "check" });
579
+ }
577
580
  }
578
- }
579
- };
580
- const panelCellClassName = ({ date }) => {
581
- const startValue = reactData.selectStValue;
582
- const endValue = reactData.selectEdValue;
583
- if (startValue && endValue) {
584
- const currTime = date.getTime();
585
- const startTime = import_xe_utils.default.toStringDate(startValue).getTime();
586
- const endTime = import_xe_utils.default.toStringDate(endValue).getTime();
587
- if (currTime >= startTime && currTime <= endTime) {
588
- return "is--range-selected";
581
+ };
582
+ const panelCellClassName = ({ date }) => {
583
+ const startValue = reactData.selectStValue;
584
+ const endValue = reactData.selectEdValue;
585
+ if (startValue && endValue) {
586
+ const currTime = date.getTime();
587
+ const startTime = import_xe_utils.default.toStringDate(startValue).getTime();
588
+ const endTime = import_xe_utils.default.toStringDate(endValue).getTime();
589
+ if (currTime >= startTime && currTime <= endTime) {
590
+ return "is--range-selected";
591
+ }
589
592
  }
590
- }
591
- return "";
592
- };
593
- const handleSelectClose = () => {
594
- const { autoClose } = props;
595
- const { selectStValue, selectEdValue } = reactData;
596
- const { selectStatus } = internalData;
597
- const isDatePickerType = computeIsDatePickerType.value;
598
- if (autoClose) {
599
- if (selectStatus && isDatePickerType) {
593
+ return "";
594
+ };
595
+ const handleSelectClose = () => {
596
+ const { autoClose } = props;
597
+ const { selectStValue, selectEdValue } = reactData;
598
+ const { selectStatus } = internalData;
599
+ const isDatePickerType = computeIsDatePickerType.value;
600
+ if (autoClose) {
601
+ if (selectStatus && isDatePickerType) {
602
+ if (selectStValue && selectEdValue) {
603
+ hidePanel();
604
+ }
605
+ }
606
+ } else {
600
607
  if (selectStValue && selectEdValue) {
601
- hidePanel();
608
+ internalData.selectStatus = false;
602
609
  }
603
610
  }
604
- } else {
605
- if (selectStValue && selectEdValue) {
606
- internalData.selectStatus = false;
611
+ };
612
+ const clickSuffixEvent = (evnt) => {
613
+ const isDisabled = computeIsDisabled.value;
614
+ if (!isDisabled) {
615
+ const { selectStValue, selectEdValue } = reactData;
616
+ const value = getRangeValue(selectStValue, selectEdValue);
617
+ dispatchEvent("suffix-click", { value, startValue: selectStValue, endValue: selectEdValue }, evnt);
607
618
  }
608
- }
609
- };
610
- const clickSuffixEvent = (evnt) => {
611
- const isDisabled = computeIsDisabled.value;
612
- if (!isDisabled) {
619
+ };
620
+ const blurEvent = (evnt) => {
613
621
  const { selectStValue, selectEdValue } = reactData;
614
- const value = getRangeValue(selectStValue, selectEdValue);
615
- dispatchEvent("suffix-click", { value, startValue: selectStValue, endValue: selectEdValue }, evnt);
616
- }
617
- };
618
- const blurEvent = (evnt) => {
619
- const { selectStValue, selectEdValue } = reactData;
620
- const inpImmediate = computeInpImmediate.value;
621
- const value = "";
622
- if (!inpImmediate) {
623
- handleChange(selectStValue, selectEdValue, evnt);
624
- }
625
- if (!reactData.visiblePanel) {
626
- reactData.isActivated = false;
627
- checkValue();
628
- }
629
- dispatchEvent("blur", { value, startValue: selectStValue, endValue: selectEdValue }, evnt);
630
- if ($xeForm && formItemInfo) {
631
- $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
632
- }
633
- };
634
- const keydownEvent = (evnt) => {
635
- triggerEvent(evnt);
636
- };
637
- const keyupEvent = (evnt) => {
638
- triggerEvent(evnt);
639
- };
640
- const confirmEvent = (evnt) => {
641
- const isTimeType = computeIsTimeType.value;
642
- const $startDatePanel = refStartDatePanel.value;
643
- const $endDatePanel = refEndDatePanel.value;
644
- if ($startDatePanel && $endDatePanel) {
645
- const startValue = $startDatePanel.getModelValue();
646
- const endValue = $endDatePanel.getModelValue();
647
- if (isTimeType) {
648
- $startDatePanel.confirmByEvent(evnt);
649
- $endDatePanel.confirmByEvent(evnt);
650
- } else if (startValue && !endValue || !startValue && endValue) {
651
- handleChange("", "", evnt);
652
- } else {
653
- $startDatePanel.confirmByEvent(evnt);
654
- $endDatePanel.confirmByEvent(evnt);
622
+ const inpImmediate = computeInpImmediate.value;
623
+ const value = "";
624
+ if (!inpImmediate) {
625
+ handleChange(selectStValue, selectEdValue, evnt);
655
626
  }
656
- const value = getRangeValue(startValue, endValue);
657
- dispatchEvent("confirm", { value, startValue, endValue }, evnt);
658
- }
659
- hidePanel();
660
- };
661
- const startPanelChangeEvent = (params) => {
662
- const { paneStartVal } = reactData;
663
- const { selectStatus } = internalData;
664
- const { value, currValue, $event } = params;
665
- const paneVals = value ? import_xe_utils.default.isString(value) ? value.split(",") : [value] : [];
666
- let startValue = "";
667
- let endValue = "";
668
- if (selectStatus) {
669
- if (!value && currValue === paneStartVal[0]) {
670
- startValue = currValue;
671
- endValue = currValue;
672
- } else {
673
- startValue = paneVals[0];
674
- if (paneVals[1]) {
675
- endValue = paneVals[1];
676
- } else {
677
- endValue = reactData.selectEdValue;
678
- }
627
+ if (!reactData.visiblePanel) {
628
+ reactData.isActivated = false;
629
+ checkValue();
679
630
  }
680
- } else {
681
- startValue = currValue || import_xe_utils.default.last(paneVals);
682
- }
683
- reactData.paneEndVal = [startValue, endValue];
684
- reactData.paneStartVal = [startValue, endValue];
685
- handleChange(startValue, endValue, $event);
686
- handleSelectClose();
687
- if (selectStatus) {
688
- if (startValue && endValue) {
689
- internalData.selectStatus = false;
631
+ dispatchEvent("blur", { value, startValue: selectStValue, endValue: selectEdValue }, evnt);
632
+ if ($xeForm && formItemInfo) {
633
+ $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
690
634
  }
691
- } else {
692
- internalData.selectStatus = true;
693
- }
694
- (0, import_vue.nextTick)(() => {
695
- handleUpdateStartPanelDate();
696
- });
697
- };
698
- const endPanelChangeEvent = (params) => {
699
- const { paneEndVal } = reactData;
700
- const { selectStatus } = internalData;
701
- const { value, currValue, $event } = params;
702
- const paneVals = value ? import_xe_utils.default.isString(value) ? value.split(",") : [value] : [];
703
- let startValue = "";
704
- let endValue = "";
705
- if (selectStatus) {
706
- if (!value && currValue === paneEndVal[1]) {
707
- startValue = currValue;
708
- endValue = currValue;
709
- } else {
710
- endValue = paneVals[0];
711
- if (paneVals[1]) {
712
- startValue = paneVals[0];
713
- endValue = paneVals[1];
635
+ };
636
+ const keydownEvent = (evnt) => {
637
+ triggerEvent(evnt);
638
+ };
639
+ const keyupEvent = (evnt) => {
640
+ triggerEvent(evnt);
641
+ };
642
+ const confirmEvent = (evnt) => {
643
+ const isTimeType = computeIsTimeType.value;
644
+ const $startDatePanel = refStartDatePanel.value;
645
+ const $endDatePanel = refEndDatePanel.value;
646
+ if ($startDatePanel && $endDatePanel) {
647
+ const startValue = $startDatePanel.getModelValue();
648
+ const endValue = $endDatePanel.getModelValue();
649
+ if (isTimeType) {
650
+ $startDatePanel.confirmByEvent(evnt);
651
+ $endDatePanel.confirmByEvent(evnt);
652
+ } else if (startValue && !endValue || !startValue && endValue) {
653
+ handleChange("", "", evnt);
714
654
  } else {
715
- startValue = reactData.selectStValue;
655
+ $startDatePanel.confirmByEvent(evnt);
656
+ $endDatePanel.confirmByEvent(evnt);
716
657
  }
658
+ const value = getRangeValue(startValue, endValue);
659
+ dispatchEvent("confirm", { value, startValue, endValue }, evnt);
717
660
  }
718
- } else {
719
- endValue = currValue || import_xe_utils.default.last(paneVals);
720
- }
721
- reactData.paneEndVal = [startValue, endValue];
722
- reactData.paneStartVal = [startValue, endValue];
723
- handleChange(startValue, endValue, $event);
724
- handleSelectClose();
725
- if (selectStatus) {
726
- if (startValue && endValue) {
727
- internalData.selectStatus = false;
661
+ hidePanel();
662
+ };
663
+ const startPanelChangeEvent = (params) => {
664
+ const { paneStartVal } = reactData;
665
+ const { selectStatus } = internalData;
666
+ const { value, currValue, $event } = params;
667
+ const paneVals = value ? import_xe_utils.default.isString(value) ? value.split(",") : [value] : [];
668
+ let startValue = "";
669
+ let endValue = "";
670
+ if (selectStatus) {
671
+ if (!value && currValue === paneStartVal[0]) {
672
+ startValue = currValue;
673
+ endValue = currValue;
674
+ } else {
675
+ startValue = paneVals[0];
676
+ if (paneVals[1]) {
677
+ endValue = paneVals[1];
678
+ } else {
679
+ endValue = reactData.selectEdValue;
680
+ }
681
+ }
682
+ } else {
683
+ startValue = currValue || import_xe_utils.default.last(paneVals);
728
684
  }
729
- } else {
730
- internalData.selectStatus = true;
731
- }
732
- (0, import_vue.nextTick)(() => {
733
- handleUpdateEndPanelDate();
734
- });
735
- };
736
- const handleUpdateStartPanelDate = () => {
737
- const $startDatePanel = refStartDatePanel.value;
738
- const $endDatePanel = refEndDatePanel.value;
739
- if (!$startDatePanel || !$endDatePanel) {
740
- return;
741
- }
742
- const startPanelDate = $startDatePanel.getPanelDate();
743
- const endPanelDate = $endDatePanel.getPanelDate();
744
- if (!startPanelDate || !endPanelDate) {
745
- return;
746
- }
747
- const viewType = $startDatePanel.getViewType();
748
- const startYear = startPanelDate.getFullYear();
749
- const startMonth = startPanelDate.getMonth();
750
- const endYear = endPanelDate.getFullYear();
751
- const endMonth = endPanelDate.getMonth();
752
- switch (viewType) {
753
- case "day":
754
- case "date":
755
- case "week": {
756
- if (endYear <= startYear && endMonth <= startMonth) {
757
- $endDatePanel.setPanelDate((0, import_util.getNextMonth)(startPanelDate));
685
+ reactData.paneEndVal = [startValue, endValue];
686
+ reactData.paneStartVal = [startValue, endValue];
687
+ handleChange(startValue, endValue, $event);
688
+ handleSelectClose();
689
+ if (selectStatus) {
690
+ if (startValue && endValue) {
691
+ internalData.selectStatus = false;
758
692
  }
759
- break;
693
+ } else {
694
+ internalData.selectStatus = true;
760
695
  }
761
- case "month":
762
- case "quarter": {
763
- if (endYear <= startYear) {
764
- $endDatePanel.setPanelDate((0, import_util.getNextYear)(startPanelDate));
696
+ (0, import_vue.nextTick)(() => {
697
+ handleUpdateStartPanelDate();
698
+ });
699
+ };
700
+ const endPanelChangeEvent = (params) => {
701
+ const { paneEndVal } = reactData;
702
+ const { selectStatus } = internalData;
703
+ const { value, currValue, $event } = params;
704
+ const paneVals = value ? import_xe_utils.default.isString(value) ? value.split(",") : [value] : [];
705
+ let startValue = "";
706
+ let endValue = "";
707
+ if (selectStatus) {
708
+ if (!value && currValue === paneEndVal[1]) {
709
+ startValue = currValue;
710
+ endValue = currValue;
711
+ } else {
712
+ endValue = paneVals[0];
713
+ if (paneVals[1]) {
714
+ startValue = paneVals[0];
715
+ endValue = paneVals[1];
716
+ } else {
717
+ startValue = reactData.selectStValue;
718
+ }
765
719
  }
766
- break;
720
+ } else {
721
+ endValue = currValue || import_xe_utils.default.last(paneVals);
767
722
  }
768
- case "year": {
769
- const { computeYearList } = $startDatePanel.getComputeMaps();
770
- const yearList = computeYearList.value;
771
- if (yearList.some((item) => import_xe_utils.default.isDateSame(item.date, endPanelDate, "yyyy"))) {
772
- $endDatePanel.setPanelDate((0, import_util.getNextYear)(startPanelDate, yearList.length));
723
+ reactData.paneEndVal = [startValue, endValue];
724
+ reactData.paneStartVal = [startValue, endValue];
725
+ handleChange(startValue, endValue, $event);
726
+ handleSelectClose();
727
+ if (selectStatus) {
728
+ if (startValue && endValue) {
729
+ internalData.selectStatus = false;
773
730
  }
774
- break;
731
+ } else {
732
+ internalData.selectStatus = true;
733
+ }
734
+ (0, import_vue.nextTick)(() => {
735
+ handleUpdateEndPanelDate();
736
+ });
737
+ };
738
+ const handleUpdateStartPanelDate = () => {
739
+ const $startDatePanel = refStartDatePanel.value;
740
+ const $endDatePanel = refEndDatePanel.value;
741
+ if (!$startDatePanel || !$endDatePanel) {
742
+ return;
743
+ }
744
+ const startPanelDate = $startDatePanel.getPanelDate();
745
+ const endPanelDate = $endDatePanel.getPanelDate();
746
+ if (!startPanelDate || !endPanelDate) {
747
+ return;
775
748
  }
776
- }
777
- };
778
- const startPanelDateBtnChangeEvent = () => {
779
- const { linkedPanels } = props;
780
- const $startDatePanel = refStartDatePanel.value;
781
- const $endDatePanel = refEndDatePanel.value;
782
- if (!$startDatePanel || !$endDatePanel) {
783
- return;
784
- }
785
- const startPanelDate = $startDatePanel.getPanelDate();
786
- const endPanelDate = $endDatePanel.getPanelDate();
787
- if (!startPanelDate || !endPanelDate) {
788
- return;
789
- }
790
- const viewType = $startDatePanel.getViewType();
791
- if (linkedPanels) {
749
+ const viewType = $startDatePanel.getViewType();
750
+ const startYear = startPanelDate.getFullYear();
751
+ const startMonth = startPanelDate.getMonth();
752
+ const endYear = endPanelDate.getFullYear();
753
+ const endMonth = endPanelDate.getMonth();
792
754
  switch (viewType) {
793
755
  case "day":
794
756
  case "date":
795
757
  case "week": {
796
- $endDatePanel.setPanelDate((0, import_util.getNextMonth)(startPanelDate));
758
+ if (endYear <= startYear && endMonth <= startMonth) {
759
+ $endDatePanel.setPanelDate((0, import_util.getNextMonth)(startPanelDate));
760
+ }
797
761
  break;
798
762
  }
799
763
  case "month":
800
764
  case "quarter": {
801
- $endDatePanel.setPanelDate((0, import_util.getNextYear)(startPanelDate));
765
+ if (endYear <= startYear) {
766
+ $endDatePanel.setPanelDate((0, import_util.getNextYear)(startPanelDate));
767
+ }
802
768
  break;
803
769
  }
804
770
  case "year": {
805
771
  const { computeYearList } = $startDatePanel.getComputeMaps();
806
772
  const yearList = computeYearList.value;
807
- $endDatePanel.setPanelDate((0, import_util.getNextYear)(startPanelDate, yearList.length));
773
+ if (yearList.some((item) => import_xe_utils.default.isDateSame(item.date, endPanelDate, "yyyy"))) {
774
+ $endDatePanel.setPanelDate((0, import_util.getNextYear)(startPanelDate, yearList.length));
775
+ }
808
776
  break;
809
777
  }
810
778
  }
811
- } else {
812
- handleUpdateStartPanelDate();
813
- }
814
- };
815
- const handleUpdateEndPanelDate = () => {
816
- const $startDatePanel = refStartDatePanel.value;
817
- const $endDatePanel = refEndDatePanel.value;
818
- if (!$startDatePanel || !$endDatePanel) {
819
- return;
820
- }
821
- const startPanelDate = $startDatePanel.getPanelDate();
822
- const endPanelDate = $endDatePanel.getPanelDate();
823
- if (!startPanelDate || !endPanelDate) {
824
- return;
825
- }
826
- const viewType = $endDatePanel.getViewType();
827
- const startYear = startPanelDate.getFullYear();
828
- const startMonth = startPanelDate.getMonth();
829
- const endYear = endPanelDate.getFullYear();
830
- const endMonth = endPanelDate.getMonth();
831
- switch (viewType) {
832
- case "day":
833
- case "date":
834
- case "week": {
835
- if (startYear >= endYear && startMonth >= endMonth) {
836
- $startDatePanel.setPanelDate((0, import_util.getPrevMonth)(endPanelDate));
837
- }
838
- break;
779
+ };
780
+ const startPanelDateBtnChangeEvent = () => {
781
+ const { linkedPanels } = props;
782
+ const $startDatePanel = refStartDatePanel.value;
783
+ const $endDatePanel = refEndDatePanel.value;
784
+ if (!$startDatePanel || !$endDatePanel) {
785
+ return;
839
786
  }
840
- case "month":
841
- case "quarter": {
842
- if (startYear >= endYear) {
843
- $startDatePanel.setPanelDate((0, import_util.getPrevYear)(endPanelDate));
844
- }
845
- break;
787
+ const startPanelDate = $startDatePanel.getPanelDate();
788
+ const endPanelDate = $endDatePanel.getPanelDate();
789
+ if (!startPanelDate || !endPanelDate) {
790
+ return;
846
791
  }
847
- case "year": {
848
- const { computeYearList } = $endDatePanel.getComputeMaps();
849
- const yearList = computeYearList.value;
850
- if (yearList.some((item) => import_xe_utils.default.isDateSame(item.date, startPanelDate, "yyyy"))) {
851
- $startDatePanel.setPanelDate((0, import_util.getPrevYear)(endPanelDate, yearList.length));
792
+ const viewType = $startDatePanel.getViewType();
793
+ if (linkedPanels) {
794
+ switch (viewType) {
795
+ case "day":
796
+ case "date":
797
+ case "week": {
798
+ $endDatePanel.setPanelDate((0, import_util.getNextMonth)(startPanelDate));
799
+ break;
800
+ }
801
+ case "month":
802
+ case "quarter": {
803
+ $endDatePanel.setPanelDate((0, import_util.getNextYear)(startPanelDate));
804
+ break;
805
+ }
806
+ case "year": {
807
+ const { computeYearList } = $startDatePanel.getComputeMaps();
808
+ const yearList = computeYearList.value;
809
+ $endDatePanel.setPanelDate((0, import_util.getNextYear)(startPanelDate, yearList.length));
810
+ break;
811
+ }
852
812
  }
853
- break;
813
+ } else {
814
+ handleUpdateStartPanelDate();
815
+ }
816
+ };
817
+ const handleUpdateEndPanelDate = () => {
818
+ const $startDatePanel = refStartDatePanel.value;
819
+ const $endDatePanel = refEndDatePanel.value;
820
+ if (!$startDatePanel || !$endDatePanel) {
821
+ return;
822
+ }
823
+ const startPanelDate = $startDatePanel.getPanelDate();
824
+ const endPanelDate = $endDatePanel.getPanelDate();
825
+ if (!startPanelDate || !endPanelDate) {
826
+ return;
854
827
  }
855
- }
856
- };
857
- const endPanelDateBtnChangeEvent = () => {
858
- const { linkedPanels } = props;
859
- const $startDatePanel = refStartDatePanel.value;
860
- const $endDatePanel = refEndDatePanel.value;
861
- if (!$startDatePanel || !$endDatePanel) {
862
- return;
863
- }
864
- const startPanelDate = $startDatePanel.getPanelDate();
865
- const endPanelDate = $endDatePanel.getPanelDate();
866
- if (!startPanelDate || !endPanelDate) {
867
- return;
868
- }
869
- const viewType = $endDatePanel.getViewType();
870
- if (linkedPanels) {
828
+ const viewType = $endDatePanel.getViewType();
829
+ const startYear = startPanelDate.getFullYear();
830
+ const startMonth = startPanelDate.getMonth();
831
+ const endYear = endPanelDate.getFullYear();
832
+ const endMonth = endPanelDate.getMonth();
871
833
  switch (viewType) {
872
834
  case "day":
873
835
  case "date":
874
836
  case "week": {
875
- $startDatePanel.setPanelDate((0, import_util.getPrevMonth)(endPanelDate));
837
+ if (startYear >= endYear && startMonth >= endMonth) {
838
+ $startDatePanel.setPanelDate((0, import_util.getPrevMonth)(endPanelDate));
839
+ }
876
840
  break;
877
841
  }
878
842
  case "month":
879
843
  case "quarter": {
880
- $startDatePanel.setPanelDate((0, import_util.getPrevYear)(endPanelDate));
844
+ if (startYear >= endYear) {
845
+ $startDatePanel.setPanelDate((0, import_util.getPrevYear)(endPanelDate));
846
+ }
881
847
  break;
882
848
  }
883
849
  case "year": {
884
850
  const { computeYearList } = $endDatePanel.getComputeMaps();
885
851
  const yearList = computeYearList.value;
886
- $startDatePanel.setPanelDate((0, import_util.getPrevYear)(endPanelDate, yearList.length));
852
+ if (yearList.some((item) => import_xe_utils.default.isDateSame(item.date, startPanelDate, "yyyy"))) {
853
+ $startDatePanel.setPanelDate((0, import_util.getPrevYear)(endPanelDate, yearList.length));
854
+ }
887
855
  break;
888
856
  }
889
857
  }
890
- } else {
891
- handleUpdateEndPanelDate();
892
- }
893
- };
894
- const handleGlobalMousedownEvent = (evnt) => {
895
- const { visiblePanel, isActivated } = reactData;
896
- const el = refElem.value;
897
- const panelWrapperElem = refPanelWrapper.value;
898
- const isDisabled = computeIsDisabled.value;
899
- if (!isDisabled && isActivated) {
900
- reactData.isActivated = (0, import_dom.getEventTargetNode)(evnt, el).flag || (0, import_dom.getEventTargetNode)(evnt, panelWrapperElem).flag;
901
- if (!reactData.isActivated) {
858
+ };
859
+ const endPanelDateBtnChangeEvent = () => {
860
+ const { linkedPanels } = props;
861
+ const $startDatePanel = refStartDatePanel.value;
862
+ const $endDatePanel = refEndDatePanel.value;
863
+ if (!$startDatePanel || !$endDatePanel) {
864
+ return;
865
+ }
866
+ const startPanelDate = $startDatePanel.getPanelDate();
867
+ const endPanelDate = $endDatePanel.getPanelDate();
868
+ if (!startPanelDate || !endPanelDate) {
869
+ return;
870
+ }
871
+ const viewType = $endDatePanel.getViewType();
872
+ if (linkedPanels) {
873
+ switch (viewType) {
874
+ case "day":
875
+ case "date":
876
+ case "week": {
877
+ $startDatePanel.setPanelDate((0, import_util.getPrevMonth)(endPanelDate));
878
+ break;
879
+ }
880
+ case "month":
881
+ case "quarter": {
882
+ $startDatePanel.setPanelDate((0, import_util.getPrevYear)(endPanelDate));
883
+ break;
884
+ }
885
+ case "year": {
886
+ const { computeYearList } = $endDatePanel.getComputeMaps();
887
+ const yearList = computeYearList.value;
888
+ $startDatePanel.setPanelDate((0, import_util.getPrevYear)(endPanelDate, yearList.length));
889
+ break;
890
+ }
891
+ }
892
+ } else {
893
+ handleUpdateEndPanelDate();
894
+ }
895
+ };
896
+ const handleGlobalMousedownEvent = (evnt) => {
897
+ const { visiblePanel, isActivated } = reactData;
898
+ const el = refElem.value;
899
+ const panelWrapperElem = refPanelWrapper.value;
900
+ const isDisabled = computeIsDisabled.value;
901
+ if (!isDisabled && isActivated) {
902
+ reactData.isActivated = (0, import_dom.getEventTargetNode)(evnt, el).flag || (0, import_dom.getEventTargetNode)(evnt, panelWrapperElem).flag;
903
+ if (!reactData.isActivated) {
904
+ if (visiblePanel) {
905
+ checkValue();
906
+ hidePanel();
907
+ }
908
+ }
909
+ }
910
+ };
911
+ const handleGlobalKeydownEvent = (evnt) => {
912
+ const { visiblePanel } = reactData;
913
+ const isDisabled = computeIsDisabled.value;
914
+ if (!isDisabled) {
915
+ const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
916
+ const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
917
+ if (isTab) {
918
+ reactData.isActivated = false;
919
+ }
902
920
  if (visiblePanel) {
903
- checkValue();
904
- hidePanel();
921
+ if (isEsc || isTab) {
922
+ checkValue();
923
+ hidePanel();
924
+ }
905
925
  }
906
926
  }
907
- }
908
- };
909
- const handleGlobalKeydownEvent = (evnt) => {
910
- const { visiblePanel } = reactData;
911
- const isDisabled = computeIsDisabled.value;
912
- if (!isDisabled) {
913
- const isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
914
- const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
915
- if (isTab) {
927
+ };
928
+ const handleGlobalBlurEvent = () => {
929
+ const { visiblePanel, isActivated } = reactData;
930
+ if (visiblePanel) {
931
+ checkValue();
932
+ hidePanel();
933
+ }
934
+ if (isActivated) {
916
935
  reactData.isActivated = false;
917
936
  }
918
- if (visiblePanel) {
919
- if (isEsc || isTab) {
920
- checkValue();
921
- hidePanel();
937
+ if (visiblePanel || isActivated) {
938
+ const targetElem = refInputTarget.value;
939
+ if (targetElem) {
940
+ targetElem.blur();
922
941
  }
923
942
  }
924
- }
925
- };
926
- const handleGlobalBlurEvent = () => {
927
- const { visiblePanel, isActivated } = reactData;
928
- if (visiblePanel) {
929
- checkValue();
930
- hidePanel();
931
- }
932
- if (isActivated) {
933
- reactData.isActivated = false;
934
- }
935
- if (visiblePanel || isActivated) {
943
+ };
944
+ const handleGlobalResizeEvent = () => {
945
+ const { visiblePanel } = reactData;
946
+ if (visiblePanel) {
947
+ updatePlacement();
948
+ }
949
+ };
950
+ const handleGlobalScrollEvent = () => {
951
+ const { visiblePanel } = reactData;
952
+ if (visiblePanel) {
953
+ updatePlacement();
954
+ }
955
+ };
956
+ const updateZindex = () => {
957
+ const popupOpts = computePopupOpts.value;
958
+ const customZIndex = popupOpts.zIndex || props.zIndex;
959
+ if (customZIndex) {
960
+ reactData.panelIndex = import_xe_utils.default.toNumber(customZIndex);
961
+ } else if (reactData.panelIndex < (0, import_utils.getLastZIndex)()) {
962
+ reactData.panelIndex = (0, import_utils.nextZIndex)();
963
+ }
964
+ };
965
+ const updatePlacement = () => {
966
+ const { placement } = props;
967
+ const { panelIndex } = reactData;
936
968
  const targetElem = refInputTarget.value;
937
- if (targetElem) {
938
- targetElem.blur();
969
+ const panelElem = refInputPanel.value;
970
+ if (!panelElem) {
971
+ return (0, import_vue.nextTick)();
939
972
  }
940
- }
941
- };
942
- const handleGlobalResizeEvent = () => {
943
- const { visiblePanel } = reactData;
944
- if (visiblePanel) {
945
- updatePlacement();
946
- }
947
- };
948
- const handleGlobalScrollEvent = () => {
949
- const { visiblePanel } = reactData;
950
- if (visiblePanel) {
951
- updatePlacement();
952
- }
953
- };
954
- const updateZindex = () => {
955
- const popupOpts = computePopupOpts.value;
956
- const customZIndex = popupOpts.zIndex || props.zIndex;
957
- if (customZIndex) {
958
- reactData.panelIndex = import_xe_utils.default.toNumber(customZIndex);
959
- } else if (reactData.panelIndex < (0, import_utils.getLastZIndex)()) {
960
- reactData.panelIndex = (0, import_utils.nextZIndex)();
961
- }
962
- };
963
- const updatePlacement = () => {
964
- const { placement } = props;
965
- const { panelIndex } = reactData;
966
- const targetElem = refInputTarget.value;
967
- const panelElem = refInputPanel.value;
968
- if (!panelElem) {
969
- return (0, import_vue.nextTick)();
970
- }
971
- const btnTransfer = computeBtnTransfer.value;
972
- const popupOpts = computePopupOpts.value;
973
- const handleStyle = () => {
974
- const ppObj = (0, import_dom.updatePanelPlacement)(targetElem, panelElem, {
975
- placement: popupOpts.placement || placement,
976
- defaultPlacement: popupOpts.defaultPlacement,
977
- appendTo: popupOpts.appendTo,
978
- teleportTo: btnTransfer
979
- });
980
- const panelStyle = Object.assign(ppObj.style, {
981
- zIndex: panelIndex
982
- });
983
- reactData.panelStyle = panelStyle;
984
- reactData.panelPlacement = ppObj.placement;
973
+ const btnTransfer = computeBtnTransfer.value;
974
+ const popupOpts = computePopupOpts.value;
975
+ const handleStyle = () => {
976
+ const ppObj = (0, import_dom.updatePanelPlacement)(targetElem, panelElem, {
977
+ placement: popupOpts.placement || placement,
978
+ defaultPlacement: popupOpts.defaultPlacement,
979
+ appendTo: popupOpts.appendTo,
980
+ teleportTo: btnTransfer
981
+ });
982
+ const panelStyle = Object.assign(ppObj.style, {
983
+ zIndex: panelIndex
984
+ });
985
+ reactData.panelStyle = panelStyle;
986
+ reactData.panelPlacement = ppObj.placement;
987
+ };
988
+ handleStyle();
989
+ return (0, import_vue.nextTick)().then(handleStyle);
985
990
  };
986
- handleStyle();
987
- return (0, import_vue.nextTick)().then(handleStyle);
988
- };
989
- const showPanel = () => {
990
- const { visiblePanel } = reactData;
991
- const isDisabled = computeIsDisabled.value;
992
- if (!isDisabled && !visiblePanel) {
993
- if (!reactData.initialized) {
994
- reactData.initialized = true;
991
+ const showPanel = () => {
992
+ const { visiblePanel } = reactData;
993
+ const isDisabled = computeIsDisabled.value;
994
+ if (!isDisabled && !visiblePanel) {
995
+ if (!reactData.initialized) {
996
+ reactData.initialized = true;
997
+ }
998
+ if (internalData.hpTimeout) {
999
+ clearTimeout(internalData.hpTimeout);
1000
+ internalData.hpTimeout = void 0;
1001
+ }
1002
+ internalData.selectStatus = false;
1003
+ reactData.isActivated = true;
1004
+ reactData.isAniVisible = true;
1005
+ setTimeout(() => {
1006
+ reactData.visiblePanel = true;
1007
+ handleUpdateStartPanelDate();
1008
+ updatePlacement();
1009
+ }, 10);
1010
+ updateZindex();
1011
+ return updatePlacement();
995
1012
  }
996
- if (internalData.hpTimeout) {
997
- clearTimeout(internalData.hpTimeout);
998
- internalData.hpTimeout = void 0;
1013
+ return (0, import_vue.nextTick)();
1014
+ };
1015
+ const dateRangePickerOpenEvent = (evnt) => {
1016
+ const formReadonly = computeFormReadonly.value;
1017
+ if (!formReadonly) {
1018
+ evnt.preventDefault();
1019
+ showPanel();
999
1020
  }
1000
- internalData.selectStatus = false;
1001
- reactData.isActivated = true;
1002
- reactData.isAniVisible = true;
1003
- setTimeout(() => {
1004
- reactData.visiblePanel = true;
1005
- handleUpdateStartPanelDate();
1006
- updatePlacement();
1007
- }, 10);
1008
- updateZindex();
1009
- return updatePlacement();
1010
- }
1011
- return (0, import_vue.nextTick)();
1012
- };
1013
- const dateRangePickerOpenEvent = (evnt) => {
1014
- const formReadonly = computeFormReadonly.value;
1015
- if (!formReadonly) {
1016
- evnt.preventDefault();
1017
- showPanel();
1018
- }
1019
- };
1020
- const clickIconEvent = (evnt) => {
1021
- const { visiblePanel } = reactData;
1022
- const popupOpts = computePopupOpts.value;
1023
- const { trigger } = popupOpts;
1024
- if (!trigger || trigger === "default" || trigger === "icon") {
1025
- if (visiblePanel) {
1026
- hidePanel();
1027
- } else {
1028
- dateRangePickerOpenEvent(evnt);
1021
+ };
1022
+ const clickIconEvent = (evnt) => {
1023
+ const { visiblePanel } = reactData;
1024
+ const popupOpts = computePopupOpts.value;
1025
+ const { trigger } = popupOpts;
1026
+ if (!trigger || trigger === "default" || trigger === "icon") {
1027
+ if (visiblePanel) {
1028
+ hidePanel();
1029
+ } else {
1030
+ dateRangePickerOpenEvent(evnt);
1031
+ }
1029
1032
  }
1030
- }
1031
- };
1032
- const clickEvent = (evnt) => {
1033
- triggerEvent(evnt);
1034
- };
1035
- const handleShortcutEvent = ({ option, $event }) => {
1036
- const { type } = props;
1037
- const shortcutOpts = computeShortcutOpts.value;
1038
- const { autoClose } = shortcutOpts;
1039
- const { code, clickMethod } = option;
1040
- let startValue = reactData.selectStValue;
1041
- let endValue = reactData.selectEdValue;
1042
- let value = getRangeValue(startValue, endValue);
1043
- const shortcutParams = {
1044
- $dateRangePicker: $xeDateRangePicker,
1045
- option,
1046
- value,
1047
- startValue,
1048
- endValue,
1049
- code
1050
1033
  };
1051
- if (!clickMethod && code) {
1052
- const gCommandOpts = commands.get(code);
1053
- const drpCommandMethod = gCommandOpts ? gCommandOpts.dateRangePickerCommandMethod : null;
1054
- if (drpCommandMethod) {
1055
- drpCommandMethod(shortcutParams);
1056
- } else {
1057
- const dateValueFormat = computeDateValueFormat.value;
1058
- const firstDayOfWeek = computeFirstDayOfWeek.value;
1059
- switch (code) {
1060
- case "last1":
1061
- case "last3":
1062
- case "last7":
1063
- case "last30":
1064
- case "last60":
1065
- case "last90":
1066
- case "last180": {
1067
- const restObj = (0, import_util.getRangeDateByCode)(code, value, type, {
1068
- valueFormat: dateValueFormat,
1069
- firstDay: firstDayOfWeek
1070
- });
1071
- startValue = restObj.startValue;
1072
- endValue = restObj.endValue;
1073
- value = getRangeValue(startValue, endValue);
1074
- shortcutParams.value = value;
1075
- shortcutParams.startValue = startValue;
1076
- shortcutParams.endValue = endValue;
1077
- handleChange(startValue, endValue, $event);
1078
- break;
1034
+ const clickEvent = (evnt) => {
1035
+ triggerEvent(evnt);
1036
+ };
1037
+ const handleShortcutEvent = ({ option, $event }) => {
1038
+ const { type } = props;
1039
+ const shortcutOpts = computeShortcutOpts.value;
1040
+ const { autoClose } = shortcutOpts;
1041
+ const { code, clickMethod } = option;
1042
+ let startValue = reactData.selectStValue;
1043
+ let endValue = reactData.selectEdValue;
1044
+ let value = getRangeValue(startValue, endValue);
1045
+ const shortcutParams = {
1046
+ $dateRangePicker: $xeDateRangePicker,
1047
+ option,
1048
+ value,
1049
+ startValue,
1050
+ endValue,
1051
+ code
1052
+ };
1053
+ if (!clickMethod && code) {
1054
+ const gCommandOpts = commands.get(code);
1055
+ const drpCommandMethod = gCommandOpts ? gCommandOpts.dateRangePickerCommandMethod : null;
1056
+ if (drpCommandMethod) {
1057
+ drpCommandMethod(shortcutParams);
1058
+ } else {
1059
+ const dateValueFormat = computeDateValueFormat.value;
1060
+ const firstDayOfWeek = computeFirstDayOfWeek.value;
1061
+ switch (code) {
1062
+ case "last1":
1063
+ case "last3":
1064
+ case "last7":
1065
+ case "last30":
1066
+ case "last60":
1067
+ case "last90":
1068
+ case "last180": {
1069
+ const restObj = (0, import_util.getRangeDateByCode)(code, value, type, {
1070
+ valueFormat: dateValueFormat,
1071
+ firstDay: firstDayOfWeek
1072
+ });
1073
+ startValue = restObj.startValue;
1074
+ endValue = restObj.endValue;
1075
+ value = getRangeValue(startValue, endValue);
1076
+ shortcutParams.value = value;
1077
+ shortcutParams.startValue = startValue;
1078
+ shortcutParams.endValue = endValue;
1079
+ handleChange(startValue, endValue, $event);
1080
+ break;
1081
+ }
1082
+ default:
1083
+ errLog("vxe.error.notCommands", [code]);
1084
+ break;
1079
1085
  }
1080
- default:
1081
- errLog("vxe.error.notCommands", [code]);
1082
- break;
1086
+ }
1087
+ } else {
1088
+ const optClickMethod = clickMethod || shortcutOpts.clickMethod;
1089
+ if (optClickMethod) {
1090
+ optClickMethod(shortcutParams);
1083
1091
  }
1084
1092
  }
1085
- } else {
1086
- const optClickMethod = clickMethod || shortcutOpts.clickMethod;
1087
- if (optClickMethod) {
1088
- optClickMethod(shortcutParams);
1093
+ if (autoClose) {
1094
+ hidePanel();
1089
1095
  }
1090
- }
1091
- if (autoClose) {
1092
- hidePanel();
1093
- }
1094
- dispatchEvent("shortcut-click", shortcutParams, $event);
1095
- };
1096
- const dispatchEvent = (type, params, evnt) => {
1097
- emit(type, createEvent(evnt, { $dateRangePicker: $xeDateRangePicker }, params));
1098
- };
1099
- const emitModel = (value) => {
1100
- emit("update:modelValue", value);
1101
- };
1102
- dateRangePickerMethods = {
1103
- dispatchEvent,
1104
- setModelValue(startValue, endValue) {
1105
- reactData.selectStValue = startValue || "";
1106
- reactData.selectEdValue = endValue || "";
1107
- const value = getRangeValue(startValue, endValue);
1108
- emitModel(value);
1109
- },
1110
- setModelValueByEvent(evnt, startValue, endValue) {
1111
- handleChange(startValue || "", endValue || "", evnt);
1112
- },
1113
- focus() {
1114
- const inputElem = refInputTarget.value;
1115
- reactData.isActivated = true;
1116
- inputElem.focus();
1117
- return (0, import_vue.nextTick)();
1118
- },
1119
- blur() {
1120
- const inputElem = refInputTarget.value;
1121
- inputElem.blur();
1122
- reactData.isActivated = false;
1123
- return (0, import_vue.nextTick)();
1124
- },
1125
- select() {
1126
- const inputElem = refInputTarget.value;
1127
- inputElem.select();
1128
- reactData.isActivated = false;
1129
- return (0, import_vue.nextTick)();
1130
- },
1131
- showPanel,
1132
- hidePanel,
1133
- updatePlacement
1134
- };
1135
- Object.assign($xeDateRangePicker, dateRangePickerMethods);
1136
- const renderShortcutBtn = (pos, isVertical) => {
1137
- const shortcutOpts = computeShortcutOpts.value;
1138
- const { position, align, mode } = shortcutOpts;
1139
- const shortcutList = computeShortcutList.value;
1140
- if ((0, import_utils.isEnableConf)(shortcutOpts) && shortcutList.length && (position || "left") === pos) {
1141
- return (0, import_vue.h)(
1142
- "div",
1143
- {
1144
- class: `vxe-date-range-picker--layout-${pos}-wrapper`
1145
- },
1146
- [
1147
- (0, import_vue.h)(import_button_group.default, {
1148
- options: shortcutList,
1149
- mode,
1150
- align,
1151
- vertical: isVertical,
1152
- onClick: handleShortcutEvent
1153
- })
1154
- ]
1155
- );
1156
- }
1157
- return renderEmptyElement($xeDateRangePicker);
1158
- };
1159
- const renderPanel = () => {
1160
- const popupOpts = computePopupOpts.value;
1161
- if (popupOpts.enabled === false) {
1162
- return renderEmptyElement($xeDateRangePicker);
1163
- }
1164
- const { type, separator, autoClose, valueFormat, showConfirmButton, showClearButton } = props;
1165
- const { initialized, isAniVisible, visiblePanel, panelPlacement, panelStyle, selectStValue, selectEdValue, paneStartVal, paneEndVal } = reactData;
1166
- const vSize = computeSize.value;
1167
- const btnTransfer = computeBtnTransfer.value;
1168
- const shortcutOpts = computeShortcutOpts.value;
1169
- const isClearable = computeIsClearable.value;
1170
- const panelLabelObj = computePanelLabelObj.value;
1171
- const shortcutList = computeShortcutList.value;
1172
- const isTimeType = computeIsTimeType.value;
1173
- const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
1174
- const defaultDates = computeDefaultDates.value;
1175
- const defaultTimes = computeDefaultTimes.value;
1176
- const timeOpts = computeTimeOpts.value;
1177
- const { appendTo } = popupOpts;
1178
- const { startLabel, endLabel } = panelLabelObj;
1179
- const { position } = shortcutOpts;
1180
- const headerSlot = slots.header;
1181
- const footerSlot = slots.footer;
1182
- const topSlot = slots.top;
1183
- const bottomSlot = slots.bottom;
1184
- const leftSlot = slots.left;
1185
- const rightSlot = slots.right;
1186
- const ppClassName = popupOpts.className;
1187
- const [sdDate, edDate] = defaultDates;
1188
- const [sdTime, edTime] = defaultTimes;
1189
- const hasShortcutBtn = shortcutList.length > 0;
1190
- const showConfirmBtn = showConfirmButton === null ? isTimeOrDateTimeType || !autoClose : showConfirmButton;
1191
- const showClearBtn = showClearButton === null ? isClearable : showClearButton;
1192
- return (0, import_vue.h)(
1193
- import_vue.Teleport,
1194
- {
1195
- to: (0, import_dom.getPopupContainer)(appendTo),
1196
- disabled: btnTransfer ? !initialized : true
1096
+ dispatchEvent("shortcut-click", shortcutParams, $event);
1097
+ };
1098
+ const dispatchEvent = (type, params, evnt) => {
1099
+ emit(type, createEvent(evnt, { $dateRangePicker: $xeDateRangePicker }, params));
1100
+ };
1101
+ const emitModel = (value) => {
1102
+ emit("update:modelValue", value);
1103
+ };
1104
+ dateRangePickerMethods = {
1105
+ dispatchEvent,
1106
+ setModelValue(startValue, endValue) {
1107
+ reactData.selectStValue = startValue || "";
1108
+ reactData.selectEdValue = endValue || "";
1109
+ const value = getRangeValue(startValue, endValue);
1110
+ emitModel(value);
1197
1111
  },
1198
- [
1199
- (0, import_vue.h)(
1200
- "div",
1201
- {
1202
- ref: refInputPanel,
1203
- class: [
1204
- "vxe-table--ignore-clear vxe-date-range-picker--panel",
1205
- `type--${type}`,
1206
- ppClassName ? import_xe_utils.default.isFunction(ppClassName) ? ppClassName({ $dateRangePicker: $xeDateRangePicker }) : ppClassName : "",
1207
- {
1208
- [`size--${vSize}`]: vSize,
1209
- "is--transfer": btnTransfer,
1210
- "ani--leave": isAniVisible,
1211
- "ani--enter": visiblePanel,
1212
- "show--top": !!(topSlot || headerSlot || hasShortcutBtn && (position === "top" || position === "header")),
1213
- "show--bottom": !!(bottomSlot || footerSlot || hasShortcutBtn && (position === "bottom" || position === "footer")),
1214
- "show--left": !!(leftSlot || hasShortcutBtn && position === "left"),
1215
- "show--right": !!(rightSlot || hasShortcutBtn && position === "right")
1216
- }
1217
- ],
1218
- placement: panelPlacement,
1219
- style: panelStyle
1220
- },
1221
- initialized && (visiblePanel || isAniVisible) ? [
1222
- (0, import_vue.h)(
1223
- "div",
1224
- {
1225
- ref: refPanelWrapper,
1226
- class: [
1227
- "vxe-date-range-picker--layout-all-wrapper",
1228
- `type--${type}`,
1229
- {
1230
- [`size--${vSize}`]: vSize
1231
- }
1232
- ]
1233
- },
1234
- [
1235
- topSlot ? (0, import_vue.h)(
1236
- "div",
1237
- {
1238
- class: "vxe-date-range-picker--layout-top-wrapper"
1239
- },
1240
- topSlot({})
1241
- ) : renderShortcutBtn("top"),
1242
- (0, import_vue.h)(
1243
- "div",
1244
- {
1245
- class: "vxe-date-range-picker--layout-body-layout-wrapper"
1246
- },
1247
- [
1248
- leftSlot ? (0, import_vue.h)(
1249
- "div",
1250
- {
1251
- class: "vxe-date-range-picker--layout-left-wrapper"
1252
- },
1253
- leftSlot({})
1254
- ) : renderShortcutBtn("left", true),
1255
- (0, import_vue.h)(
1256
- "div",
1257
- {
1258
- class: "vxe-date-range-picker--layout-body-content-wrapper"
1259
- },
1260
- [
1261
- headerSlot ? (0, import_vue.h)(
1262
- "div",
1263
- {
1264
- class: "vxe-date-range-picker--layout-header-wrapper"
1265
- },
1266
- headerSlot({})
1267
- ) : renderShortcutBtn("header"),
1268
- (0, import_vue.h)(
1269
- "div",
1270
- {
1271
- class: "vxe-date-range-picker--layout-body-wrapper"
1272
- },
1273
- [
1274
- (0, import_vue.h)(import_date_panel.default, {
1275
- ref: refStartDatePanel,
1276
- modelValue: paneStartVal,
1277
- multiple: !isTimeType,
1278
- valueSort: true,
1279
- limitCount: 3,
1280
- defaultMode: "first",
1281
- type: props.type,
1282
- className: props.className,
1283
- minDate: props.minDate,
1284
- maxDate: props.maxDate,
1285
- startDay: props.startDay,
1286
- labelFormat: props.labelFormat,
1287
- valueFormat: valueFormat === "date" || valueFormat === "timestamp" ? "" : valueFormat,
1288
- timeFormat: props.timeFormat,
1289
- defaultDate: sdDate,
1290
- defaultTime: sdTime,
1291
- timeConfig: timeOpts,
1292
- festivalMethod: props.festivalMethod || defaultFuncProps.festivalMethod,
1293
- disabledMethod: props.disabledMethod || defaultFuncProps.disabledMethod,
1294
- selectDay: props.selectDay,
1295
- cellClassName: panelCellClassName,
1296
- onChange: startPanelChangeEvent,
1297
- onDatePrev: startPanelDateBtnChangeEvent,
1298
- onDateToday: startPanelDateBtnChangeEvent,
1299
- onDateNext: startPanelDateBtnChangeEvent
1300
- }),
1301
- (0, import_vue.h)(import_date_panel.default, {
1302
- ref: refEndDatePanel,
1303
- modelValue: paneEndVal,
1304
- multiple: !isTimeType,
1305
- valueSort: true,
1306
- limitCount: 3,
1307
- defaultMode: "last",
1308
- type: props.type,
1309
- className: props.className,
1310
- minDate: props.minDate,
1311
- maxDate: props.maxDate,
1312
- startDay: props.startDay,
1313
- labelFormat: props.labelFormat,
1314
- valueFormat: valueFormat === "date" || valueFormat === "timestamp" ? "" : valueFormat,
1315
- timeFormat: props.timeFormat,
1316
- defaultDate: edDate,
1317
- defaultTime: edTime,
1318
- timeConfig: timeOpts,
1319
- festivalMethod: props.festivalMethod || defaultFuncProps.festivalMethod,
1320
- disabledMethod: props.disabledMethod || defaultFuncProps.disabledMethod,
1321
- selectDay: props.selectDay,
1322
- cellClassName: panelCellClassName,
1323
- onChange: endPanelChangeEvent,
1324
- onDatePrev: endPanelDateBtnChangeEvent,
1325
- onDateToday: endPanelDateBtnChangeEvent,
1326
- onDateNext: endPanelDateBtnChangeEvent
1327
- })
1328
- ]
1329
- ),
1330
- (0, import_vue.h)(
1331
- "div",
1332
- {
1333
- class: "vxe-date-range-picker--layout-footer-wrapper"
1334
- },
1335
- [
1336
- (0, import_vue.h)(
1337
- "div",
1338
- {
1339
- class: "vxe-date-range-picker--layout-footer-label"
1340
- },
1341
- startLabel || endLabel ? [(0, import_vue.h)("span", startLabel), (0, import_vue.h)("span", `${separator || ""}`), (0, import_vue.h)("span", endLabel)] : `${separator || ""}`
1342
- ),
1343
- (0, import_vue.h)(
1344
- "div",
1345
- {
1346
- class: "vxe-date-range-picker--layout-footer-custom"
1347
- },
1348
- footerSlot ? footerSlot({}) : [renderShortcutBtn("footer")]
1349
- ),
1350
- (0, import_vue.h)(
1351
- "div",
1352
- {
1353
- class: "vxe-date-range-picker--layout-footer-btns"
1354
- },
1355
- [
1356
- showClearBtn ? (0, import_vue.h)(import_button.default, {
1357
- size: "mini",
1358
- disabled: !(selectStValue || selectEdValue),
1359
- content: getI18n("vxe.button.clear"),
1360
- onClick: clearValueEvent
1361
- }) : renderEmptyElement($xeDateRangePicker),
1362
- showConfirmBtn ? (0, import_vue.h)(import_button.default, {
1363
- size: "mini",
1364
- status: "primary",
1365
- content: getI18n("vxe.button.confirm"),
1366
- onClick: confirmEvent
1367
- }) : renderEmptyElement($xeDateRangePicker)
1368
- ]
1369
- )
1370
- ]
1371
- )
1372
- ]
1373
- ),
1374
- rightSlot ? (0, import_vue.h)(
1375
- "div",
1376
- {
1377
- class: "vxe-date-range-picker--layout-right-wrapper"
1378
- },
1379
- rightSlot({})
1380
- ) : renderShortcutBtn("right", true)
1381
- ]
1382
- ),
1383
- bottomSlot ? (0, import_vue.h)(
1384
- "div",
1385
- {
1386
- class: "vxe-date-range-picker--layout-bottom-wrapper"
1387
- },
1388
- bottomSlot({})
1389
- ) : renderShortcutBtn("bottom")
1390
- ]
1391
- )
1392
- ] : []
1393
- )
1394
- ]
1395
- );
1396
- };
1397
- const renderPrefixIcon = () => {
1398
- const { prefixIcon } = props;
1399
- const prefixSlot = slots.prefix;
1400
- return prefixSlot || prefixIcon ? (0, import_vue.h)(
1401
- "div",
1402
- {
1403
- class: "vxe-date-range-picker--prefix",
1404
- onClick: clickPrefixEvent
1112
+ setModelValueByEvent(evnt, startValue, endValue) {
1113
+ handleChange(startValue || "", endValue || "", evnt);
1405
1114
  },
1406
- [
1407
- (0, import_vue.h)(
1408
- "div",
1409
- {
1410
- class: "vxe-date-range-picker--prefix-icon"
1411
- },
1412
- prefixSlot ? (0, import_vn.getSlotVNs)(prefixSlot({})) : [
1413
- (0, import_vue.h)("i", {
1414
- class: prefixIcon
1415
- })
1416
- ]
1417
- )
1418
- ]
1419
- ) : null;
1420
- };
1421
- const renderSuffixIcon = () => {
1422
- const { suffixIcon } = props;
1423
- const { selectStValue, selectEdValue } = reactData;
1424
- const suffixSlot = slots.suffix;
1425
- const isDisabled = computeIsDisabled.value;
1426
- const isClearable = computeIsClearable.value;
1427
- return (0, import_vue.h)(
1428
- "div",
1429
- {
1430
- class: [
1431
- "vxe-date-range-picker--suffix",
1432
- {
1433
- "is--clear": isClearable && !isDisabled && (selectStValue || selectEdValue)
1434
- }
1435
- ]
1115
+ focus() {
1116
+ const inputElem = refInputTarget.value;
1117
+ reactData.isActivated = true;
1118
+ inputElem.focus();
1119
+ return (0, import_vue.nextTick)();
1120
+ },
1121
+ blur() {
1122
+ const inputElem = refInputTarget.value;
1123
+ inputElem.blur();
1124
+ reactData.isActivated = false;
1125
+ return (0, import_vue.nextTick)();
1436
1126
  },
1437
- [
1438
- isClearable ? (0, import_vue.h)(
1127
+ select() {
1128
+ const inputElem = refInputTarget.value;
1129
+ inputElem.select();
1130
+ reactData.isActivated = false;
1131
+ return (0, import_vue.nextTick)();
1132
+ },
1133
+ showPanel,
1134
+ hidePanel,
1135
+ updatePlacement
1136
+ };
1137
+ Object.assign($xeDateRangePicker, dateRangePickerMethods);
1138
+ const renderShortcutBtn = (pos, isVertical) => {
1139
+ const shortcutOpts = computeShortcutOpts.value;
1140
+ const { position, align, mode } = shortcutOpts;
1141
+ const shortcutList = computeShortcutList.value;
1142
+ if ((0, import_utils.isEnableConf)(shortcutOpts) && shortcutList.length && (position || "left") === pos) {
1143
+ return (0, import_vue.h)(
1439
1144
  "div",
1440
1145
  {
1441
- class: "vxe-date-range-picker--clear-icon",
1442
- onClick: clearValueEvent
1146
+ class: `vxe-date-range-picker--layout-${pos}-wrapper`
1443
1147
  },
1444
1148
  [
1445
- (0, import_vue.h)("i", {
1446
- class: getIcon().INPUT_CLEAR
1149
+ (0, import_vue.h)(import_button_group.default, {
1150
+ options: shortcutList,
1151
+ mode,
1152
+ align,
1153
+ vertical: isVertical,
1154
+ onClick: handleShortcutEvent
1447
1155
  })
1448
1156
  ]
1449
- ) : renderEmptyElement($xeDateRangePicker),
1450
- renderExtraSuffixIcon(),
1451
- suffixSlot || suffixIcon ? (0, import_vue.h)(
1452
- "div",
1453
- {
1454
- class: "vxe-date-range-picker--suffix-icon",
1455
- onClick: clickSuffixEvent
1456
- },
1457
- suffixSlot ? (0, import_vn.getSlotVNs)(suffixSlot({})) : [
1458
- (0, import_vue.h)("i", {
1459
- class: suffixIcon
1460
- })
1157
+ );
1158
+ }
1159
+ return renderEmptyElement($xeDateRangePicker);
1160
+ };
1161
+ const renderPanel = () => {
1162
+ const popupOpts = computePopupOpts.value;
1163
+ if (popupOpts.enabled === false) {
1164
+ return renderEmptyElement($xeDateRangePicker);
1165
+ }
1166
+ const { type, separator, autoClose, valueFormat, showConfirmButton, showClearButton } = props;
1167
+ const { initialized, isAniVisible, visiblePanel, panelPlacement, panelStyle, selectStValue, selectEdValue, paneStartVal, paneEndVal } = reactData;
1168
+ const vSize = computeSize.value;
1169
+ const btnTransfer = computeBtnTransfer.value;
1170
+ const shortcutOpts = computeShortcutOpts.value;
1171
+ const isClearable = computeIsClearable.value;
1172
+ const panelLabelObj = computePanelLabelObj.value;
1173
+ const shortcutList = computeShortcutList.value;
1174
+ const isTimeType = computeIsTimeType.value;
1175
+ const isTimeOrDateTimeType = computeIsTimeOrDateTimeType.value;
1176
+ const defaultDates = computeDefaultDates.value;
1177
+ const defaultTimes = computeDefaultTimes.value;
1178
+ const timeOpts = computeTimeOpts.value;
1179
+ const { appendTo } = popupOpts;
1180
+ const { startLabel, endLabel } = panelLabelObj;
1181
+ const { position } = shortcutOpts;
1182
+ const headerSlot = slots.header;
1183
+ const footerSlot = slots.footer;
1184
+ const topSlot = slots.top;
1185
+ const bottomSlot = slots.bottom;
1186
+ const leftSlot = slots.left;
1187
+ const rightSlot = slots.right;
1188
+ const ppClassName = popupOpts.className;
1189
+ const [sdDate, edDate] = defaultDates;
1190
+ const [sdTime, edTime] = defaultTimes;
1191
+ const hasShortcutBtn = shortcutList.length > 0;
1192
+ const showConfirmBtn = showConfirmButton === null ? isTimeOrDateTimeType || !autoClose : showConfirmButton;
1193
+ const showClearBtn = showClearButton === null ? isClearable : showClearButton;
1194
+ return (0, import_vue.h)(
1195
+ import_vue.Teleport,
1196
+ {
1197
+ to: (0, import_dom.getPopupContainer)(appendTo),
1198
+ disabled: btnTransfer ? !initialized : true
1199
+ },
1200
+ [
1201
+ (0, import_vue.h)(
1202
+ "div",
1203
+ {
1204
+ ref: refInputPanel,
1205
+ class: [
1206
+ "vxe-table--ignore-clear vxe-date-range-picker--panel",
1207
+ `type--${type}`,
1208
+ ppClassName ? import_xe_utils.default.isFunction(ppClassName) ? ppClassName({ $dateRangePicker: $xeDateRangePicker }) : ppClassName : "",
1209
+ {
1210
+ [`size--${vSize}`]: vSize,
1211
+ "is--transfer": btnTransfer,
1212
+ "ani--leave": isAniVisible,
1213
+ "ani--enter": visiblePanel,
1214
+ "show--top": !!(topSlot || headerSlot || hasShortcutBtn && (position === "top" || position === "header")),
1215
+ "show--bottom": !!(bottomSlot || footerSlot || hasShortcutBtn && (position === "bottom" || position === "footer")),
1216
+ "show--left": !!(leftSlot || hasShortcutBtn && position === "left"),
1217
+ "show--right": !!(rightSlot || hasShortcutBtn && position === "right")
1218
+ }
1219
+ ],
1220
+ placement: panelPlacement,
1221
+ style: panelStyle
1222
+ },
1223
+ initialized && (visiblePanel || isAniVisible) ? [
1224
+ (0, import_vue.h)(
1225
+ "div",
1226
+ {
1227
+ ref: refPanelWrapper,
1228
+ class: [
1229
+ "vxe-date-range-picker--layout-all-wrapper",
1230
+ `type--${type}`,
1231
+ {
1232
+ [`size--${vSize}`]: vSize
1233
+ }
1234
+ ]
1235
+ },
1236
+ [
1237
+ topSlot ? (0, import_vue.h)(
1238
+ "div",
1239
+ {
1240
+ class: "vxe-date-range-picker--layout-top-wrapper"
1241
+ },
1242
+ topSlot({})
1243
+ ) : renderShortcutBtn("top"),
1244
+ (0, import_vue.h)(
1245
+ "div",
1246
+ {
1247
+ class: "vxe-date-range-picker--layout-body-layout-wrapper"
1248
+ },
1249
+ [
1250
+ leftSlot ? (0, import_vue.h)(
1251
+ "div",
1252
+ {
1253
+ class: "vxe-date-range-picker--layout-left-wrapper"
1254
+ },
1255
+ leftSlot({})
1256
+ ) : renderShortcutBtn("left", true),
1257
+ (0, import_vue.h)(
1258
+ "div",
1259
+ {
1260
+ class: "vxe-date-range-picker--layout-body-content-wrapper"
1261
+ },
1262
+ [
1263
+ headerSlot ? (0, import_vue.h)(
1264
+ "div",
1265
+ {
1266
+ class: "vxe-date-range-picker--layout-header-wrapper"
1267
+ },
1268
+ headerSlot({})
1269
+ ) : renderShortcutBtn("header"),
1270
+ (0, import_vue.h)(
1271
+ "div",
1272
+ {
1273
+ class: "vxe-date-range-picker--layout-body-wrapper"
1274
+ },
1275
+ [
1276
+ (0, import_vue.h)(import_date_panel.default, {
1277
+ ref: refStartDatePanel,
1278
+ modelValue: paneStartVal,
1279
+ multiple: !isTimeType,
1280
+ valueSort: true,
1281
+ limitCount: 3,
1282
+ defaultMode: "first",
1283
+ type: props.type,
1284
+ className: props.className,
1285
+ minDate: props.minDate,
1286
+ maxDate: props.maxDate,
1287
+ startDay: props.startDay,
1288
+ labelFormat: props.labelFormat,
1289
+ valueFormat: valueFormat === "date" || valueFormat === "timestamp" ? "" : valueFormat,
1290
+ timeFormat: props.timeFormat,
1291
+ defaultDate: sdDate,
1292
+ defaultTime: sdTime,
1293
+ timeConfig: timeOpts,
1294
+ festivalMethod: props.festivalMethod || defaultFuncProps.festivalMethod,
1295
+ disabledMethod: props.disabledMethod || defaultFuncProps.disabledMethod,
1296
+ selectDay: props.selectDay,
1297
+ cellClassName: panelCellClassName,
1298
+ onChange: startPanelChangeEvent,
1299
+ onDatePrev: startPanelDateBtnChangeEvent,
1300
+ onDateToday: startPanelDateBtnChangeEvent,
1301
+ onDateNext: startPanelDateBtnChangeEvent
1302
+ }),
1303
+ (0, import_vue.h)(import_date_panel.default, {
1304
+ ref: refEndDatePanel,
1305
+ modelValue: paneEndVal,
1306
+ multiple: !isTimeType,
1307
+ valueSort: true,
1308
+ limitCount: 3,
1309
+ defaultMode: "last",
1310
+ type: props.type,
1311
+ className: props.className,
1312
+ minDate: props.minDate,
1313
+ maxDate: props.maxDate,
1314
+ startDay: props.startDay,
1315
+ labelFormat: props.labelFormat,
1316
+ valueFormat: valueFormat === "date" || valueFormat === "timestamp" ? "" : valueFormat,
1317
+ timeFormat: props.timeFormat,
1318
+ defaultDate: edDate,
1319
+ defaultTime: edTime,
1320
+ timeConfig: timeOpts,
1321
+ festivalMethod: props.festivalMethod || defaultFuncProps.festivalMethod,
1322
+ disabledMethod: props.disabledMethod || defaultFuncProps.disabledMethod,
1323
+ selectDay: props.selectDay,
1324
+ cellClassName: panelCellClassName,
1325
+ onChange: endPanelChangeEvent,
1326
+ onDatePrev: endPanelDateBtnChangeEvent,
1327
+ onDateToday: endPanelDateBtnChangeEvent,
1328
+ onDateNext: endPanelDateBtnChangeEvent
1329
+ })
1330
+ ]
1331
+ ),
1332
+ (0, import_vue.h)(
1333
+ "div",
1334
+ {
1335
+ class: "vxe-date-range-picker--layout-footer-wrapper"
1336
+ },
1337
+ [
1338
+ (0, import_vue.h)(
1339
+ "div",
1340
+ {
1341
+ class: "vxe-date-range-picker--layout-footer-label"
1342
+ },
1343
+ startLabel || endLabel ? [(0, import_vue.h)("span", startLabel), (0, import_vue.h)("span", `${separator || ""}`), (0, import_vue.h)("span", endLabel)] : `${separator || ""}`
1344
+ ),
1345
+ (0, import_vue.h)(
1346
+ "div",
1347
+ {
1348
+ class: "vxe-date-range-picker--layout-footer-custom"
1349
+ },
1350
+ footerSlot ? footerSlot({}) : [renderShortcutBtn("footer")]
1351
+ ),
1352
+ (0, import_vue.h)(
1353
+ "div",
1354
+ {
1355
+ class: "vxe-date-range-picker--layout-footer-btns"
1356
+ },
1357
+ [
1358
+ showClearBtn ? (0, import_vue.h)(import_button.default, {
1359
+ size: "mini",
1360
+ disabled: !(selectStValue || selectEdValue),
1361
+ content: getI18n("vxe.button.clear"),
1362
+ onClick: clearValueEvent
1363
+ }) : renderEmptyElement($xeDateRangePicker),
1364
+ showConfirmBtn ? (0, import_vue.h)(import_button.default, {
1365
+ size: "mini",
1366
+ status: "primary",
1367
+ content: getI18n("vxe.button.confirm"),
1368
+ onClick: confirmEvent
1369
+ }) : renderEmptyElement($xeDateRangePicker)
1370
+ ]
1371
+ )
1372
+ ]
1373
+ )
1374
+ ]
1375
+ ),
1376
+ rightSlot ? (0, import_vue.h)(
1377
+ "div",
1378
+ {
1379
+ class: "vxe-date-range-picker--layout-right-wrapper"
1380
+ },
1381
+ rightSlot({})
1382
+ ) : renderShortcutBtn("right", true)
1383
+ ]
1384
+ ),
1385
+ bottomSlot ? (0, import_vue.h)(
1386
+ "div",
1387
+ {
1388
+ class: "vxe-date-range-picker--layout-bottom-wrapper"
1389
+ },
1390
+ bottomSlot({})
1391
+ ) : renderShortcutBtn("bottom")
1392
+ ]
1393
+ )
1394
+ ] : []
1395
+ )
1396
+ ]
1397
+ );
1398
+ };
1399
+ const renderPrefixIcon = () => {
1400
+ const { prefixIcon } = props;
1401
+ const prefixSlot = slots.prefix;
1402
+ return prefixSlot || prefixIcon ? (0, import_vue.h)(
1403
+ "div",
1404
+ {
1405
+ class: "vxe-date-range-picker--prefix",
1406
+ onClick: clickPrefixEvent
1407
+ },
1408
+ [
1409
+ (0, import_vue.h)(
1410
+ "div",
1411
+ {
1412
+ class: "vxe-date-range-picker--prefix-icon"
1413
+ },
1414
+ prefixSlot ? (0, import_vn.getSlotVNs)(prefixSlot({})) : [
1415
+ (0, import_vue.h)("i", {
1416
+ class: prefixIcon
1417
+ })
1418
+ ]
1419
+ )
1420
+ ]
1421
+ ) : null;
1422
+ };
1423
+ const renderSuffixIcon = () => {
1424
+ const { suffixIcon } = props;
1425
+ const { selectStValue, selectEdValue } = reactData;
1426
+ const suffixSlot = slots.suffix;
1427
+ const isDisabled = computeIsDisabled.value;
1428
+ const isClearable = computeIsClearable.value;
1429
+ return (0, import_vue.h)(
1430
+ "div",
1431
+ {
1432
+ class: [
1433
+ "vxe-date-range-picker--suffix",
1434
+ {
1435
+ "is--clear": isClearable && !isDisabled && (selectStValue || selectEdValue)
1436
+ }
1461
1437
  ]
1462
- ) : renderEmptyElement($xeDateRangePicker)
1463
- ]
1464
- );
1465
- };
1466
- const renderExtraSuffixIcon = () => {
1467
- return (0, import_vue.h)(
1468
- "div",
1469
- {
1470
- class: "vxe-date-range-picker--control-icon",
1471
- onClick: clickIconEvent
1472
- },
1473
- [
1474
- (0, import_vue.h)("i", {
1475
- class: ["vxe-date-range-picker--date-picker-icon", getIcon().DATE_PICKER_DATE]
1476
- })
1477
- ]
1478
- );
1479
- };
1480
- const renderVN = () => {
1481
- const { className, inputClassName, type, name, autoComplete } = props;
1482
- const { selectStValue, selectEdValue, visiblePanel, isActivated } = reactData;
1483
- const vSize = computeSize.value;
1484
- const isDisabled = computeIsDisabled.value;
1485
- const formReadonly = computeFormReadonly.value;
1486
- const inputLabel = computeInputLabel.value;
1487
- if (formReadonly) {
1438
+ },
1439
+ [
1440
+ isClearable ? (0, import_vue.h)(
1441
+ "div",
1442
+ {
1443
+ class: "vxe-date-range-picker--clear-icon",
1444
+ onClick: clearValueEvent
1445
+ },
1446
+ [
1447
+ (0, import_vue.h)("i", {
1448
+ class: getIcon().INPUT_CLEAR
1449
+ })
1450
+ ]
1451
+ ) : renderEmptyElement($xeDateRangePicker),
1452
+ renderExtraSuffixIcon(),
1453
+ suffixSlot || suffixIcon ? (0, import_vue.h)(
1454
+ "div",
1455
+ {
1456
+ class: "vxe-date-range-picker--suffix-icon",
1457
+ onClick: clickSuffixEvent
1458
+ },
1459
+ suffixSlot ? (0, import_vn.getSlotVNs)(suffixSlot({})) : [
1460
+ (0, import_vue.h)("i", {
1461
+ class: suffixIcon
1462
+ })
1463
+ ]
1464
+ ) : renderEmptyElement($xeDateRangePicker)
1465
+ ]
1466
+ );
1467
+ };
1468
+ const renderExtraSuffixIcon = () => {
1488
1469
  return (0, import_vue.h)(
1489
1470
  "div",
1490
1471
  {
1491
- ref: refElem,
1492
- class: ["vxe-date-range-picker--readonly", `type--${type}`, className]
1472
+ class: "vxe-date-range-picker--control-icon",
1473
+ onClick: clickIconEvent
1493
1474
  },
1494
- inputLabel
1475
+ [
1476
+ (0, import_vue.h)("i", {
1477
+ class: ["vxe-date-range-picker--date-picker-icon", getIcon().DATE_PICKER_DATE]
1478
+ })
1479
+ ]
1495
1480
  );
1496
- }
1497
- const currStyle = computeCurrStyle.value;
1498
- const inpPlaceholder = computeInpPlaceholder.value;
1499
- const isClearable = computeIsClearable.value;
1500
- const prefix = renderPrefixIcon();
1501
- const suffix = renderSuffixIcon();
1502
- return (0, import_vue.h)(
1503
- "div",
1504
- {
1505
- ref: refElem,
1506
- class: [
1507
- "vxe-date-range-picker",
1508
- `type--${type}`,
1509
- className,
1510
- {
1511
- [`size--${vSize}`]: vSize,
1512
- "is--prefix": !!prefix,
1513
- "is--suffix": !!suffix,
1514
- "is--visible": visiblePanel,
1515
- "is--disabled": isDisabled,
1516
- "is--active": isActivated,
1517
- "show--clear": isClearable && !isDisabled && (selectStValue || selectEdValue)
1518
- }
1519
- ],
1520
- style: currStyle,
1521
- spellcheck: false
1522
- },
1523
- [
1524
- prefix || renderEmptyElement($xeDateRangePicker),
1525
- (0, import_vue.h)(
1481
+ };
1482
+ const renderVN = () => {
1483
+ const { className, inputClassName, type, name, autoComplete } = props;
1484
+ const { selectStValue, selectEdValue, visiblePanel, isActivated } = reactData;
1485
+ const vSize = computeSize.value;
1486
+ const isDisabled = computeIsDisabled.value;
1487
+ const formReadonly = computeFormReadonly.value;
1488
+ const inputLabel = computeInputLabel.value;
1489
+ if (formReadonly) {
1490
+ return (0, import_vue.h)(
1526
1491
  "div",
1527
1492
  {
1528
- class: "vxe-date-range-picker--wrapper"
1493
+ ref: refElem,
1494
+ class: ["vxe-date-range-picker--readonly", `type--${type}`, className]
1529
1495
  },
1530
- [
1531
- (0, import_vue.h)("input", {
1532
- ref: refInputTarget,
1533
- class: "vxe-date-range-picker--inner" + (inputClassName ? " " + inputClassName : ""),
1534
- value: inputLabel,
1535
- name,
1536
- type: "text",
1537
- placeholder: inpPlaceholder,
1538
- editable: false,
1539
- disabled: isDisabled,
1540
- autocomplete: autoComplete,
1541
- onKeydown: keydownEvent,
1542
- onKeyup: keyupEvent,
1543
- onClick: clickEvent,
1544
- onChange: changeEvent,
1545
- onFocus: focusEvent,
1546
- onBlur: blurEvent
1547
- })
1548
- ]
1549
- ),
1550
- suffix || renderEmptyElement($xeDateRangePicker),
1551
- // 下拉面板
1552
- renderPanel()
1553
- ]
1496
+ inputLabel
1497
+ );
1498
+ }
1499
+ const currStyle = computeCurrStyle.value;
1500
+ const inpPlaceholder = computeInpPlaceholder.value;
1501
+ const isClearable = computeIsClearable.value;
1502
+ const prefix = renderPrefixIcon();
1503
+ const suffix = renderSuffixIcon();
1504
+ return (0, import_vue.h)(
1505
+ "div",
1506
+ {
1507
+ ref: refElem,
1508
+ class: [
1509
+ "vxe-date-range-picker",
1510
+ `type--${type}`,
1511
+ className,
1512
+ {
1513
+ [`size--${vSize}`]: vSize,
1514
+ "is--prefix": !!prefix,
1515
+ "is--suffix": !!suffix,
1516
+ "is--visible": visiblePanel,
1517
+ "is--disabled": isDisabled,
1518
+ "is--active": isActivated,
1519
+ "show--clear": isClearable && !isDisabled && (selectStValue || selectEdValue)
1520
+ }
1521
+ ],
1522
+ style: currStyle,
1523
+ spellcheck: false
1524
+ },
1525
+ [
1526
+ prefix || renderEmptyElement($xeDateRangePicker),
1527
+ (0, import_vue.h)(
1528
+ "div",
1529
+ {
1530
+ class: "vxe-date-range-picker--wrapper"
1531
+ },
1532
+ [
1533
+ (0, import_vue.h)("input", {
1534
+ ref: refInputTarget,
1535
+ class: "vxe-date-range-picker--inner" + (inputClassName ? " " + inputClassName : ""),
1536
+ value: inputLabel,
1537
+ name,
1538
+ type: "text",
1539
+ placeholder: inpPlaceholder,
1540
+ editable: false,
1541
+ disabled: isDisabled,
1542
+ autocomplete: autoComplete,
1543
+ onKeydown: keydownEvent,
1544
+ onKeyup: keyupEvent,
1545
+ onClick: clickEvent,
1546
+ onChange: changeEvent,
1547
+ onFocus: focusEvent,
1548
+ onBlur: blurEvent
1549
+ })
1550
+ ]
1551
+ ),
1552
+ suffix || renderEmptyElement($xeDateRangePicker),
1553
+ // 下拉面板
1554
+ renderPanel()
1555
+ ]
1556
+ );
1557
+ };
1558
+ (0, import_vue.watch)(
1559
+ () => props.modelValue,
1560
+ () => {
1561
+ updateModelValue(true);
1562
+ }
1554
1563
  );
1555
- };
1556
- (0, import_vue.watch)(
1557
- () => props.modelValue,
1558
- () => {
1559
- updateModelValue(true);
1560
- }
1561
- );
1562
- (0, import_vue.watch)(computeMVal, () => {
1563
- updateModelValue(false);
1564
- });
1565
- updateModelValue(true);
1566
- (0, import_vue.nextTick)(() => {
1567
- globalEvents.on($xeDateRangePicker, "mousedown", handleGlobalMousedownEvent);
1568
- globalEvents.on($xeDateRangePicker, "keydown", handleGlobalKeydownEvent);
1569
- globalEvents.on($xeDateRangePicker, "blur", handleGlobalBlurEvent);
1570
- globalEvents.on($xeDateRangePicker, "resize", handleGlobalResizeEvent);
1571
- globalEvents.on($xeDateRangePicker, "scroll", handleGlobalScrollEvent);
1572
- });
1573
- (0, import_vue.onDeactivated)(() => {
1574
- checkValue();
1575
- });
1576
- (0, import_vue.onBeforeUnmount)(() => {
1577
- checkValue();
1578
- });
1579
- (0, import_vue.onUnmounted)(() => {
1580
- globalEvents.off($xeDateRangePicker, "mousedown");
1581
- globalEvents.off($xeDateRangePicker, "keydown");
1582
- globalEvents.off($xeDateRangePicker, "blur");
1583
- globalEvents.off($xeDateRangePicker, "resize");
1584
- globalEvents.off($xeDateRangePicker, "scroll");
1585
- import_xe_utils.default.assign(reactData, createReactData());
1586
- import_xe_utils.default.assign(internalData, createInternalData());
1587
- });
1588
- (0, import_vue.provide)("$xeDateRangePicker", $xeDateRangePicker);
1589
- $xeDateRangePicker.renderVN = renderVN;
1590
- return $xeDateRangePicker;
1591
- },
1592
- render() {
1593
- return this.renderVN();
1594
- }
1595
- });
1564
+ (0, import_vue.watch)(computeMVal, () => {
1565
+ updateModelValue(false);
1566
+ });
1567
+ updateModelValue(true);
1568
+ (0, import_vue.nextTick)(() => {
1569
+ globalEvents.on($xeDateRangePicker, "mousedown", handleGlobalMousedownEvent);
1570
+ globalEvents.on($xeDateRangePicker, "keydown", handleGlobalKeydownEvent);
1571
+ globalEvents.on($xeDateRangePicker, "blur", handleGlobalBlurEvent);
1572
+ globalEvents.on($xeDateRangePicker, "resize", handleGlobalResizeEvent);
1573
+ globalEvents.on($xeDateRangePicker, "scroll", handleGlobalScrollEvent);
1574
+ });
1575
+ (0, import_vue.onDeactivated)(() => {
1576
+ checkValue();
1577
+ });
1578
+ (0, import_vue.onBeforeUnmount)(() => {
1579
+ checkValue();
1580
+ });
1581
+ (0, import_vue.onUnmounted)(() => {
1582
+ globalEvents.off($xeDateRangePicker, "mousedown");
1583
+ globalEvents.off($xeDateRangePicker, "keydown");
1584
+ globalEvents.off($xeDateRangePicker, "blur");
1585
+ globalEvents.off($xeDateRangePicker, "resize");
1586
+ globalEvents.off($xeDateRangePicker, "scroll");
1587
+ import_xe_utils.default.assign(reactData, createReactData());
1588
+ import_xe_utils.default.assign(internalData, createInternalData());
1589
+ });
1590
+ (0, import_vue.provide)("$xeDateRangePicker", $xeDateRangePicker);
1591
+ $xeDateRangePicker.renderVN = renderVN;
1592
+ return $xeDateRangePicker;
1593
+ },
1594
+ render() {
1595
+ return this.renderVN();
1596
+ }
1597
+ })
1598
+ );