vxe-pc-ui 4.1.19 → 4.1.21

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 (259) hide show
  1. package/README.md +83 -2
  2. package/es/anchor/src/anchor-link.js +1 -1
  3. package/es/anchor/src/anchor.js +1 -1
  4. package/es/breadcrumb/src/breadcrumb.js +1 -1
  5. package/es/button/src/button-group.js +4 -1
  6. package/es/button/src/button.js +2 -1
  7. package/es/calendar/src/calendar.js +64 -32
  8. package/es/card/src/card.js +4 -3
  9. package/es/carousel/src/carousel-item.js +13 -3
  10. package/es/carousel/src/carousel.js +16 -8
  11. package/es/checkbox/src/checkbox.js +30 -14
  12. package/es/checkbox/src/group.js +17 -8
  13. package/es/collapse-pane/index.js +1 -1
  14. package/es/countdown/src/countdown.js +17 -8
  15. package/es/date-picker/src/date-picker.js +148 -69
  16. package/es/drawer/src/drawer.js +86 -46
  17. package/es/form/render/index.js +1 -2
  18. package/es/form/src/form-config-item.js +4 -3
  19. package/es/form/src/form-gather.js +5 -3
  20. package/es/form/src/form-item.js +15 -10
  21. package/es/form/src/form.js +11 -8
  22. package/es/form/src/render.js +2 -1
  23. package/es/form/src/util.js +2 -1
  24. package/es/icon/src/icon.js +3 -0
  25. package/es/icon/style.css +1 -1
  26. package/es/icon-picker/src/icon-picker.js +24 -11
  27. package/es/image/src/group.js +4 -1
  28. package/es/image/src/preview.js +1 -1
  29. package/es/input/src/input.js +131 -66
  30. package/es/layout-aside/src/layout-aside.js +1 -1
  31. package/es/list/src/list.js +7 -5
  32. package/es/list-design/src/list-design.js +1 -1
  33. package/es/list-design/src/list-view.js +1 -1
  34. package/es/loading/src/loading.js +4 -1
  35. package/es/menu/src/menu.js +4 -3
  36. package/es/number-input/src/number-input.js +100 -77
  37. package/es/pager/src/pager.js +85 -45
  38. package/es/password-input/src/password-input.js +2 -2
  39. package/es/print/src/page-break.js +11 -2
  40. package/es/print/src/print.js +6 -4
  41. package/es/pulldown/src/pulldown.js +19 -13
  42. package/es/radio/src/button.js +2 -2
  43. package/es/radio/src/group.js +8 -4
  44. package/es/row/src/row.js +1 -1
  45. package/es/select/src/optgroup.js +19 -10
  46. package/es/select/src/option.js +17 -9
  47. package/es/select/src/select.js +64 -41
  48. package/es/select/src/util.js +2 -2
  49. package/es/style.css +1 -1
  50. package/es/style.min.css +1 -1
  51. package/es/tabs/src/tab-pane.js +13 -3
  52. package/es/tabs/src/tabs.js +57 -47
  53. package/es/textarea/src/textarea.js +28 -10
  54. package/es/tooltip/src/tooltip.js +107 -78
  55. package/es/tree/src/tree.js +6 -3
  56. package/es/tree-select/src/tree-select.js +18 -10
  57. package/es/ui/index.js +1 -7
  58. package/es/ui/src/log.js +1 -1
  59. package/es/upload/src/upload.js +5 -5
  60. package/lib/anchor/src/anchor-link.js +1 -1
  61. package/lib/anchor/src/anchor-link.min.js +1 -1
  62. package/lib/anchor/src/anchor.js +1 -1
  63. package/lib/anchor/src/anchor.min.js +1 -1
  64. package/lib/breadcrumb/src/breadcrumb.js +1 -1
  65. package/lib/breadcrumb/src/breadcrumb.min.js +1 -1
  66. package/lib/button/src/button-group.js +4 -1
  67. package/lib/button/src/button-group.min.js +1 -1
  68. package/lib/button/src/button.js +2 -1
  69. package/lib/button/src/button.min.js +1 -1
  70. package/lib/calendar/src/calendar.js +42 -24
  71. package/lib/calendar/src/calendar.min.js +1 -1
  72. package/lib/card/src/card.js +6 -5
  73. package/lib/card/src/card.min.js +1 -1
  74. package/lib/carousel/src/carousel-item.js +16 -3
  75. package/lib/carousel/src/carousel-item.min.js +1 -1
  76. package/lib/carousel/src/carousel.js +18 -8
  77. package/lib/carousel/src/carousel.min.js +1 -1
  78. package/lib/checkbox/src/checkbox.js +16 -12
  79. package/lib/checkbox/src/checkbox.min.js +1 -1
  80. package/lib/checkbox/src/group.js +10 -7
  81. package/lib/checkbox/src/group.min.js +1 -1
  82. package/lib/collapse-pane/index.js +1 -1
  83. package/lib/collapse-pane/index.min.js +1 -1
  84. package/lib/countdown/src/countdown.js +15 -7
  85. package/lib/countdown/src/countdown.min.js +1 -1
  86. package/lib/date-picker/src/date-picker.js +124 -62
  87. package/lib/date-picker/src/date-picker.min.js +1 -1
  88. package/lib/drawer/src/drawer.js +15 -30
  89. package/lib/drawer/src/drawer.min.js +1 -1
  90. package/lib/form/render/index.js +1 -4
  91. package/lib/form/render/index.min.js +1 -1
  92. package/lib/form/src/form-config-item.js +4 -5
  93. package/lib/form/src/form-config-item.min.js +1 -1
  94. package/lib/form/src/form-gather.js +11 -9
  95. package/lib/form/src/form-gather.min.js +1 -1
  96. package/lib/form/src/form-item.js +11 -12
  97. package/lib/form/src/form-item.min.js +1 -1
  98. package/lib/form/src/form.js +7 -7
  99. package/lib/form/src/form.min.js +1 -1
  100. package/lib/form/src/render.js +2 -1
  101. package/lib/form/src/util.js +2 -1
  102. package/lib/icon/src/icon.js +3 -0
  103. package/lib/icon/src/icon.min.js +1 -1
  104. package/lib/icon/style/style.css +1 -1
  105. package/lib/icon/style/style.min.css +1 -1
  106. package/lib/icon-picker/src/icon-picker.js +22 -12
  107. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  108. package/lib/image/src/group.js +4 -1
  109. package/lib/image/src/group.min.js +1 -1
  110. package/lib/image/src/preview.js +1 -1
  111. package/lib/image/src/preview.min.js +1 -1
  112. package/lib/index.umd.js +884 -649
  113. package/lib/index.umd.min.js +1 -1
  114. package/lib/input/src/input.js +79 -51
  115. package/lib/input/src/input.min.js +1 -1
  116. package/lib/layout-aside/src/layout-aside.js +1 -1
  117. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  118. package/lib/list/src/list.js +9 -5
  119. package/lib/list/src/list.min.js +1 -1
  120. package/lib/list-design/src/list-design.js +1 -1
  121. package/lib/list-design/src/list-design.min.js +1 -1
  122. package/lib/list-design/src/list-view.js +1 -1
  123. package/lib/list-design/src/list-view.min.js +1 -1
  124. package/lib/loading/src/loading.js +4 -1
  125. package/lib/loading/src/loading.min.js +1 -1
  126. package/lib/menu/src/menu.js +4 -3
  127. package/lib/menu/src/menu.min.js +1 -1
  128. package/lib/number-input/src/number-input.js +67 -69
  129. package/lib/number-input/src/number-input.min.js +1 -1
  130. package/lib/pager/src/pager.js +40 -39
  131. package/lib/pager/src/pager.min.js +1 -1
  132. package/lib/password-input/src/password-input.js +2 -2
  133. package/lib/print/src/page-break.js +14 -2
  134. package/lib/print/src/page-break.min.js +1 -1
  135. package/lib/print/src/print.js +8 -6
  136. package/lib/print/src/print.min.js +1 -1
  137. package/lib/pulldown/src/pulldown.js +19 -13
  138. package/lib/pulldown/src/pulldown.min.js +1 -1
  139. package/lib/radio/src/button.js +2 -2
  140. package/lib/radio/src/group.js +8 -4
  141. package/lib/radio/src/group.min.js +1 -1
  142. package/lib/row/src/row.js +1 -1
  143. package/lib/row/src/row.min.js +1 -1
  144. package/lib/select/src/optgroup.js +12 -9
  145. package/lib/select/src/optgroup.min.js +1 -1
  146. package/lib/select/src/option.js +9 -7
  147. package/lib/select/src/option.min.js +1 -1
  148. package/lib/select/src/select.js +52 -41
  149. package/lib/select/src/select.min.js +1 -1
  150. package/lib/select/src/util.js +2 -2
  151. package/lib/select/src/util.min.js +1 -1
  152. package/lib/style.css +1 -1
  153. package/lib/style.min.css +1 -1
  154. package/lib/tabs/src/tab-pane.js +16 -3
  155. package/lib/tabs/src/tab-pane.min.js +1 -1
  156. package/lib/tabs/src/tabs.js +62 -50
  157. package/lib/tabs/src/tabs.min.js +1 -1
  158. package/lib/textarea/src/textarea.js +4 -4
  159. package/lib/tooltip/src/tooltip.js +96 -88
  160. package/lib/tooltip/src/tooltip.min.js +1 -1
  161. package/lib/tree/src/tree.js +2 -2
  162. package/lib/tree/src/tree.min.js +1 -1
  163. package/lib/tree-select/src/tree-select.js +13 -8
  164. package/lib/tree-select/src/tree-select.min.js +1 -1
  165. package/lib/ui/index.js +3 -10
  166. package/lib/ui/index.min.js +1 -1
  167. package/lib/ui/src/log.js +1 -1
  168. package/lib/ui/src/log.min.js +1 -1
  169. package/lib/upload/src/upload.js +5 -5
  170. package/lib/upload/src/upload.min.js +1 -1
  171. package/package.json +2 -2
  172. package/packages/anchor/src/anchor-link.ts +2 -2
  173. package/packages/anchor/src/anchor.ts +2 -2
  174. package/packages/breadcrumb/src/breadcrumb.ts +2 -2
  175. package/packages/button/src/button-group.ts +4 -1
  176. package/packages/button/src/button.ts +6 -5
  177. package/packages/calendar/src/calendar.ts +67 -35
  178. package/packages/card/src/card.ts +6 -4
  179. package/packages/carousel/src/carousel-item.ts +19 -4
  180. package/packages/carousel/src/carousel.ts +19 -11
  181. package/packages/checkbox/src/checkbox.ts +34 -15
  182. package/packages/checkbox/src/group.ts +22 -10
  183. package/packages/collapse-pane/index.ts +1 -1
  184. package/packages/countdown/src/countdown.ts +20 -11
  185. package/packages/date-picker/src/date-picker.ts +160 -80
  186. package/packages/drawer/src/drawer.ts +91 -50
  187. package/packages/form/render/index.ts +1 -3
  188. package/packages/form/src/form-config-item.ts +4 -3
  189. package/packages/form/src/form-gather.ts +5 -3
  190. package/packages/form/src/form-item.ts +15 -10
  191. package/packages/form/src/form.ts +12 -10
  192. package/packages/form/src/render.ts +2 -1
  193. package/packages/form/src/util.ts +2 -1
  194. package/packages/icon/src/icon.ts +3 -0
  195. package/packages/icon-picker/src/icon-picker.ts +31 -17
  196. package/packages/image/src/group.ts +4 -1
  197. package/packages/image/src/preview.ts +2 -2
  198. package/packages/input/src/input.ts +138 -75
  199. package/packages/layout-aside/src/layout-aside.ts +2 -2
  200. package/packages/list/src/list.ts +12 -11
  201. package/packages/list-design/src/list-design.ts +2 -2
  202. package/packages/list-design/src/list-view.ts +2 -2
  203. package/packages/loading/src/loading.ts +5 -2
  204. package/packages/menu/src/menu.ts +5 -4
  205. package/packages/number-input/src/number-input.ts +102 -79
  206. package/packages/pager/src/pager.ts +91 -50
  207. package/packages/password-input/src/password-input.ts +2 -2
  208. package/packages/print/src/page-break.ts +18 -4
  209. package/packages/print/src/print.ts +10 -5
  210. package/packages/pulldown/src/pulldown.ts +28 -22
  211. package/packages/radio/src/button.ts +2 -2
  212. package/packages/radio/src/group.ts +9 -5
  213. package/packages/row/src/row.ts +2 -2
  214. package/packages/select/src/optgroup.ts +22 -13
  215. package/packages/select/src/option.ts +18 -10
  216. package/packages/select/src/select.ts +79 -52
  217. package/packages/select/src/util.ts +3 -3
  218. package/packages/tabs/src/tab-pane.ts +20 -5
  219. package/packages/tabs/src/tabs.ts +59 -49
  220. package/packages/textarea/src/textarea.ts +28 -10
  221. package/packages/tooltip/src/tooltip.ts +118 -84
  222. package/packages/tree/src/tree.ts +7 -4
  223. package/packages/tree-select/src/tree-select.ts +25 -16
  224. package/packages/ui/index.ts +0 -7
  225. package/packages/upload/src/upload.ts +6 -6
  226. package/types/components/calendar.d.ts +6 -0
  227. package/types/components/carousel.d.ts +5 -0
  228. package/types/components/countdown.d.ts +4 -0
  229. package/types/components/date-picker.d.ts +23 -5
  230. package/types/components/drawer.d.ts +0 -1
  231. package/types/components/form.d.ts +4 -2
  232. package/types/components/icon-picker.d.ts +4 -0
  233. package/types/components/input.d.ts +9 -1
  234. package/types/components/list.d.ts +1 -0
  235. package/types/components/number-input.d.ts +6 -2
  236. package/types/components/optgroup.d.ts +10 -4
  237. package/types/components/pulldown.d.ts +5 -1
  238. package/types/components/select.d.ts +4 -0
  239. package/types/components/tabs.d.ts +4 -0
  240. package/types/components/toolbar.d.ts +5 -0
  241. package/types/components/tooltip.d.ts +4 -0
  242. package/types/components/tree-select.d.ts +4 -0
  243. package/types/ui/index.d.ts +0 -22
  244. /package/es/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
  245. /package/es/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  246. /package/es/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  247. /package/es/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  248. /package/es/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  249. /package/es/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  250. /package/es/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  251. /package/lib/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
  252. /package/lib/{collapse-pane → collapse}/src/collapse-pane.min.js +0 -0
  253. /package/lib/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  254. /package/lib/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  255. /package/lib/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  256. /package/lib/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
  257. /package/lib/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
  258. /package/lib/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
  259. /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTree",props:{data:Array,height:[String,Number],minHeight:{type:[String,Number],default:()=>(0,_ui.getConfig)().tree.minHeight},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.accordion},childrenField:{type:String,default:()=>(0,_ui.getConfig)().tree.childrenField},valueField:{type:String,default:()=>(0,_ui.getConfig)().tree.valueField},keyField:{type:String,default:()=>(0,_ui.getConfig)().tree.keyField},parentField:{type:String,default:()=>(0,_ui.getConfig)().tree.parentField},titleField:{type:String,default:()=>(0,_ui.getConfig)().tree.titleField},hasChildField:{type:String,default:()=>(0,_ui.getConfig)().tree.hasChildField},transform:Boolean,isCurrent:Boolean,isHover:Boolean,showLine:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showLine},trigger:String,indent:{type:Number,default:()=>(0,_ui.getConfig)().tree.indent},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showRadio},checkNodeKey:{type:[String,Number],default:()=>(0,_ui.getConfig)().tree.checkNodeKey},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showCheckbox},checkNodeKeys:{type:Array,default:()=>(0,_ui.getConfig)().tree.checkNodeKeys},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:()=>(0,_ui.getConfig)().tree.iconOpen},iconClose:{type:String,default:()=>(0,_ui.getConfig)().tree.iconClose},iconLoaded:{type:String,default:()=>(0,_ui.getConfig)().tree.iconLoaded},size:{type:String,default:()=>(0,_ui.getConfig)().tree.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","update:checkNodeKey","update:checkNodeKeys","node-click","node-dblclick","current-change","radio-change","checkbox-change","load-success","load-error"],setup(O,e){const{emit:o,slots:w}=e;var t=_xeUtils.default.uniqueId();const s=(0,_ui.useSize)(O)["computeSize"],u=(0,_vue.ref)(),I=(0,_vue.reactive)({currentNode:null,nodeMaps:{},selectRadioKey:O.checkNodeKey,treeList:[],treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},selectCheckboxMaps:{},indeterminateCheckboxMaps:{}});const y={refElem:u},V=(0,_vue.computed)(()=>O.titleField||"title"),d=(0,_vue.computed)(()=>O.keyField||"id"),h=(0,_vue.computed)(()=>{var e=d.value;return O.valueField||e}),E=(0,_vue.computed)(()=>O.parentField||"parentId"),K=(0,_vue.computed)(()=>O.childrenField||"children"),T=(0,_vue.computed)(()=>O.hasChildField||"hasChild"),m=(0,_vue.computed)(()=>{var e=v.value["isCurrent"];return _xeUtils.default.isBoolean(e)?e:O.isCurrent}),b=(0,_vue.computed)(()=>{var e=v.value["isHover"];return _xeUtils.default.isBoolean(e)?e:O.isHover}),R=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.radioConfig,O.radioConfig)),B=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.checkboxConfig,O.checkboxConfig)),v=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tree.nodeConfig,O.nodeConfig)),N=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tree.loadingConfig,O.loadingConfig)),M=(0,_vue.computed)(()=>{var{height:e,minHeight:t}=O,a={};return e&&(a.height=(0,_dom.toCssUnit)(e)),t&&(a.minHeight=(0,_dom.toCssUnit)(t)),a}),U={computeRadioOpts:R,computeCheckboxOpts:B,computeNodeOpts:v},p={xID:t,props:O,context:e,internalData:{},reactData:I,getRefMaps:()=>y,getComputeMaps:()=>U},j=e=>{var t=h.value,e=_xeUtils.default.get(e,t);return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)};const a=e=>{var t=I["selectRadioKey"];return t===e};const D=e=>{var t=I["selectCheckboxMaps"];return!!t[e]};const S=e=>{var t=I["indeterminateCheckboxMaps"];return!!t[e]};const L=e=>{o("update:checkNodeKeys",e)},P=e=>{o("update:checkNodeKey",e)};const l=(e,t)=>{const a=Object.assign({},I.selectCheckboxMaps);e.forEach(e=>{t?a[e]=!0:a[e]&&delete a[e]}),I.selectCheckboxMaps=a},n=e=>{const t={};e&&e.forEach(e=>{t[e]=!0}),I.selectCheckboxMaps=t},i=(e,t,a)=>{t?a[e]&&(a[e]=!0):a[e]&&delete a[e]},F=(e,t,a)=>{o(e,(0,_ui.createEvent)(a,{$tree:p},t))},c={dispatchEvent:F,clearRadioNode(){return(I.selectRadioKey=null,_vue.nextTick)()},setRadioNode:(e,t)=>(e&&(I.selectRadioKey=t?j(e):null),(0,_vue.nextTick)()),setCheckboxNode:(e,t)=>(e&&(_xeUtils.default.isArray(e)||(e=[e]),l(e.map(e=>j(e)),t)),(0,_vue.nextTick)()),setCheckboxByNodeId:(e,t)=>(e&&(_xeUtils.default.isArray(e)||(e=[e]),l(e,t)),(0,_vue.nextTick)()),clearCheckboxNode(){return I.selectCheckboxMaps={},(0,_vue.nextTick)()},setAllCheckboxNode(e){const t=Object.assign(I.selectCheckboxMaps);var a=K.value;return e&&_xeUtils.default.eachTree(I.treeList,e=>{e=j(e);t[e]=!0},{children:a}),I.selectCheckboxMaps=t,(0,_vue.nextTick)()},clearExpandNode(){return c.clearAllExpandNode()},clearAllExpandNode(){return _xeUtils.default.each(I.nodeMaps,e=>{e.treeLoaded=!1}),I.treeExpandedMaps={},(0,_vue.nextTick)()},setExpandByNodeId(e,t){const a=Object.assign(I.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{i(e,t,a)}),I.treeExpandedMaps=a),(0,_vue.nextTick)()},setExpandNode(e,t){const a=Object.assign(I.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=j(e);i(e,t,a)}),I.treeExpandedMaps=a),(0,_vue.nextTick)()},toggleExpandByNodeId(e){const t=Object.assign(I.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{i(e,!t[e],t)}),I.treeExpandedMaps=t),(0,_vue.nextTick)()},toggleExpandNode(e){const t=Object.assign(I.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=j(e);i(e,!t[e],t)}),I.treeExpandedMaps=t),(0,_vue.nextTick)()},setAllExpandNode(){const t=Object.assign(I.treeExpandedMaps);var e=K.value;return _xeUtils.default.eachTree(I.treeList,e=>{e=j(e);t[e]=!0},{children:e}),I.treeExpandedMaps=t,(0,_vue.nextTick)()},reloadExpandNode(e){var t=O["lazy"];return t?(c.clearExpandLoaded(e),_(e)):(0,_vue.nextTick)()},clearExpandLoaded(e){var t=O["lazy"],a=I["nodeMaps"];return t&&(t=a[j(e)])&&(t.treeLoaded=!1),(0,_vue.nextTick)()},loadChildrenNode(i,e){const{lazy:t,transform:a}=O,r=I["nodeMaps"];if(!t)return(0,_vue.nextTick)();const o=K.value,l=r[j(i)],c=l?l.level:0,s=l?l.nodes:[];return(e=>{const a=h.value;return Promise.resolve(e.map(e=>{var t,e=Object.assign({},e);return j(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,a,t)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,t,a,o,n,d)=>{e=j(e);r[e]={item:i,itemIndex:-1,items:a,parent:n||l.item,nodes:s.concat(d),level:c+d.length,lineCount:0,treeLoaded:!1}},{children:o}),i[o]=e,a&&(i[o]=e),x(i),e))},isExpandByNode:e=>{var t=I["treeExpandedMaps"];return!!t[j(e)]},isCheckedByRadioNodeId:a,isCheckedByRadioNode:e=>a(j(e)),isCheckedByCheckboxNodeId:D,isIndeterminateByCheckboxNode:e=>S(j(e)),isCheckedByCheckboxNode:e=>D(j(e))},r=e=>{var t=O["transform"],a=d.value,o=E.value,n=K.value;I.treeList=t?_xeUtils.default.toArrayTree(e,{key:a,parentKey:o,mapChildren:n}):e?e.slice(0):[];{t=I.treeList;const r=h.value,l=(a=K.value,{});_xeUtils.default.eachTree(t,(e,t,a,o,n,d)=>{let i=j(e);i||(i=getNodeUniqueId(),_xeUtils.default.set(e,r,i)),l[i]={item:e,itemIndex:t,items:a,parent:n,nodes:d,level:d.length,lineCount:0,treeLoaded:!1}},{children:a}),I.nodeMaps=l}},g=(e,o,n)=>{var t=I["treeExpandedMaps"],a=K.value,d=j(e);n.lineCount++,t[d]&&_xeUtils.default.arrayEach(e[a],(e,t,a)=>{(!o||t<a.length-1)&&g(e,!1,n)})},x=e=>{const a=I["nodeMaps"];e&&(e=j(e),e=a[e])&&_xeUtils.default.lastArrayEach(e.nodes,e=>{var t=j(e),t=a[t];t&&(t.lineCount=0,g(e,!0,t))})},$=(e,t)=>{var{showRadio:a,showCheckbox:o,trigger:n}=O,d=R.value,i=B.value;let r=!1,l=!1,c=!1,s=!1;m.value?(r=!0,((e,t)=>{e.preventDefault();const a=v.value,{currentMethod:o,trigger:n}=a,d=K.value,i=_xeUtils.default.get(t,d),r=i&&i.length;let l=!!o;if(n==="child"){if(r)return}else if(n==="parent")if(!r)return;if(o)l=!o({node:t});var c;l||(c=!0,I.currentNode=t,F("current-change",{node:t,checked:!0},e))})(e,t)):I.currentNode&&(I.currentNode=null),"node"===n&&(s=!0,z(e,t)),a&&"node"===d.trigger&&(l=!0,q(e,t)),o&&"node"===i.trigger&&(c=!0,A(e,t)),F("node-click",{node:t,triggerCurrent:r,triggerRadio:l,triggerCheckbox:c,triggerExpand:s},e)},_=i=>{var e=B.value;const a=O["loadMethod"],r=e["checkStrictly"];return new Promise(e=>{if(a){const o=I["treeExpandLazyLoadedMaps"];var t=I["nodeMaps"];const n=j(i),d=t[n];o[n]=!0,Promise.resolve(a({$tree:p,node:i})).then(a=>{if(d.treeLoaded=!0,o[n]&&delete o[n],a=_xeUtils.default.isArray(a)?a:[])return c.loadChildrenNode(i,a).then(e=>{var t=I["treeExpandedMaps"];return e.length&&!t[n]&&(t[n]=!0),!r&&c.isCheckedByCheckboxNodeId(n)&&l(e.map(e=>j(e)),!0),x(i),F("load-success",{node:i,data:a},new Event("load-success")),(0,_vue.nextTick)()});x(i),F("load-success",{node:i,data:a},new Event("load-success"))}).catch(e=>{var t=I["treeExpandLazyLoadedMaps"];d.treeLoaded=!1,t[n]&&delete t[n],x(i),F("load-error",{node:i,data:e},new Event("load-error"))}).finally(()=>(0,_vue.nextTick)())}else e()})},X=(e,t)=>{const{lazy:o,accordion:a,toggleMethod:n}=O,{nodeMaps:d,treeExpandLazyLoadedMaps:i}=I,r=Object.assign({},I.treeExpandedMaps),l=K.value,c=T.value,s=[];let u=n?e.filter(e=>n({$tree:p,expanded:t,node:e})):e;a&&(u=u.length?[u[u.length-1]]:[],e=j(u[0]),e=d[e])&&e.items.forEach(e=>{e=j(e);r[e]&&delete r[e]});const h=[];return t?u.forEach(e=>{var t,a=j(e);r[a]||(t=d[a],o&&e[c]&&!t.treeLoaded&&!i[a]?s.push(_(e)):e[l]&&e[l].length&&(r[a]=!0,h.push(e)))}):u.forEach(e=>{var t=j(e);r[t]&&(delete r[t],h.push(e))}),I.treeExpandedMaps=r,h.forEach(x),Promise.all(s)},z=(e,t)=>{var a=O["lazy"],{treeExpandedMaps:o,treeExpandLazyLoadedMaps:n}=I,d=j(t),o=!o[d];e.stopPropagation(),a&&n[d]||X([t],o)},f=(e,n,d)=>{var t=K.value,t=_xeUtils.default.get(e,t),e=j(e);if(t&&t.length){let a=!1,o=0;t.forEach(e=>{var e=j(e),t=n[e];(t||d[e])&&(t&&o++,a=!0)}),o===t.length?(n[e]||(n[e]=!0),d[e]&&delete d[e]):(n[e]&&delete n[e],d[e]=a)}else d[e]&&delete d[e]},G=()=>{var e=I["treeList"];const l=K.value;var t=B.value["checkStrictly"];if(!t){const c=Object.assign({},I.selectCheckboxMaps),s={};_xeUtils.default.eachTree(e,(e,t,a,o,n,d)=>{var i=_xeUtils.default.get(e,l);if(i&&i.length||f(e,c,s),t===a.length-1)for(let e=d.length-2;0<=e;e--){var r=d[e];f(r,c,s)}}),I.selectCheckboxMaps=c,I.indeterminateCheckboxMaps=s}},A=(e,a)=>{e.preventDefault(),e.stopPropagation();var{checkStrictly:o,checkMethod:n}=B.value;let t=!!n;if(!(t=n?!n({node:a}):t)){const i=Object.assign({},I.selectCheckboxMaps);var n=K.value,d=j(a);let t=!1;i[d]?delete i[d]:(t=!0,i[d]=t),o||_xeUtils.default.eachTree(_xeUtils.default.get(a,n),e=>{e=j(e);t?i[e]||(i[e]=!0):i[e]&&delete i[e]},{children:n}),I.selectCheckboxMaps=i,G();d=Object.keys(I.selectCheckboxMaps);L(d),F("checkbox-change",{node:a,value:d,checked:t},e)}},q=(e,t)=>{e.preventDefault(),e.stopPropagation();var a=R.value["checkMethod"];let o=!!a;(o=a?!a({node:t}):o)||(a=j(t),I.selectRadioKey=a,P(a),F("radio-change",{node:t,value:a,checked:!0},e))};Object.assign(p,c,{});const H=a=>{var{lazy:e,showRadio:t,showCheckbox:o,showLine:n,indent:d,iconOpen:i,iconClose:r,iconLoaded:l,showIcon:c}=O,{nodeMaps:s,treeExpandedMaps:u,currentNode:h,selectRadioKey:v,treeExpandLazyLoadedMaps:p}=I,g=K.value,x=V.value,_=T.value,g=_xeUtils.default.get(a,g),f=g&&g.length,C=w.title,k=w.extra,y=j(a),E=u[y],s=s[y],x=_xeUtils.default.get(a,x);const m=[];f&&u[y]&&(n&&m.push((0,_vue.h)("div",{key:"line",class:"vxe-tree--node-child-line",style:{height:`calc(${s.lineCount} * var(--vxe-ui-tree-node-height) - var(--vxe-ui-tree-node-height) / 2)`,left:(s.level+1)*(d||1)+"px"}})),g.forEach(e=>{m.push(H(e))}));let b=!1,N=(t&&(b=y==v),!1),M=(o&&(N=D(y)),!1),U=!1,L=!1;return e&&(U=!!p[y],M=a[_],L=!!s.treeLoaded),(0,_vue.h)("div",{class:["vxe-tree--node-wrapper","node--level-"+s.level],nodeid:y},[(0,_vue.h)("div",{class:["vxe-tree--node-item",{"is--current":h&&y===j(h),"is-radio--checked":b,"is-checkbox--checked":N}],style:{paddingLeft:(s.level-1)*(d||1)+"px"},onClick(e){$(e,a)},onDblclick(e){var t;e=e,t=a,F("node-dblclick",{node:t},e)}},[c||n?(0,_vue.h)("div",{class:"vxe-tree--node-item-switcher"},c&&(!e||L?f:M)?[(0,_vue.h)("div",{class:"vxe-tree--node-item-icon",onClick(e){z(e,a)}},[(0,_vue.h)("i",{class:U?l||(0,_ui.getIcon)().TREE_NODE_LOADED:E?i||(0,_ui.getIcon)().TREE_NODE_OPEN:r||(0,_ui.getIcon)().TREE_NODE_CLOSE})])]:[]):(0,_vue.createCommentVNode)(),((t,e)=>{var a=O["showRadio"],{showIcon:o,checkMethod:n,visibleMethod:d}=R.value,d=!d||d({node:t});let i=!!n;return a&&o&&d?(n&&(i=!n({node:t})),(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":e,"is--disabled":i}],onClick:e=>{i||q(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",e?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})])):(0,_vue.createCommentVNode)()})(a,b),((t,e,a)=>{var o=O["showCheckbox"],{showIcon:n,checkMethod:d,visibleMethod:i}=B.value,e=S(e),i=!i||i({node:t});let r=!!d;return o&&n&&i?(d&&(r=!d({node:t})),(0,_vue.h)("div",{class:["vxe-tree--checkbox-option",{"is--checked":a,"is--indeterminate":e,"is--disabled":r}],onClick:e=>{r||A(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:a?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})])):(0,_vue.createCommentVNode)()})(a,y,N),(0,_vue.h)("div",{class:"vxe-tree--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-tree--node-item-title"},C?(0,_vn.getSlotVNs)(C({node:a})):""+x),k?(0,_vue.h)("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(k({node:a}))):(0,_vue.createCommentVNode)()])]),f&&u[y]?(0,_vue.h)("div",{class:"vxe-tree--node-child-wrapper"},m):(0,_vue.createCommentVNode)()])};p.renderVN=()=>{var{loading:e,trigger:t,showLine:a}=O,o=s.value,n=R.value,d=B.value,i=M.value,r=N.value,l=b.value;const c=w.loading;return(0,_vue.h)("div",{ref:u,class:["vxe-tree",{["size--"+o]:o,"show--line":a,"checkbox--highlight":d.highlight,"radio--highlight":n.highlight,"node--hover":l,"node--trigger":"node"===t,"is--loading":e}],style:i},[(o=I.treeList,(0,_vue.h)("div",{class:"vxe-tree--node-list-wrapper"},o.map(e=>H(e)))),(0,_vue.h)(_loading.default,{class:"vxe-tree--loading",modelValue:e,icon:r.icon,text:r.text},c?{default:()=>c({$tree:p})}:{})])};const C=(0,_vue.ref)(0),k=((0,_vue.watch)(()=>O.data?O.data.length:0,()=>{C.value++}),(0,_vue.watch)(()=>O.data,()=>{C.value++}),(0,_vue.watch)(C,()=>{r(O.data||[])}),(0,_vue.watch)(()=>O.checkNodeKey,e=>{I.selectRadioKey=e}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>O.checkNodeKeys?O.checkNodeKeys.length:0,()=>{k.value++}),(0,_vue.watch)(()=>O.checkNodeKeys,()=>{k.value++}),(0,_vue.watch)(k,()=>{n(O.checkNodeKeys||[])}),(0,_vue.onUnmounted)(()=>{I.treeList=[],I.treeExpandedMaps={},I.nodeMaps={}}),r(O.data||[]),n(O.checkNodeKeys||[]),p},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTree",props:{data:Array,height:[String,Number],minHeight:{type:[String,Number],default:()=>(0,_ui.getConfig)().tree.minHeight},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.accordion},childrenField:{type:String,default:()=>(0,_ui.getConfig)().tree.childrenField},valueField:{type:String,default:()=>(0,_ui.getConfig)().tree.valueField},keyField:{type:String,default:()=>(0,_ui.getConfig)().tree.keyField},parentField:{type:String,default:()=>(0,_ui.getConfig)().tree.parentField},titleField:{type:String,default:()=>(0,_ui.getConfig)().tree.titleField},hasChildField:{type:String,default:()=>(0,_ui.getConfig)().tree.hasChildField},transform:Boolean,isCurrent:Boolean,isHover:Boolean,showLine:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showLine},trigger:String,indent:{type:Number,default:()=>(0,_ui.getConfig)().tree.indent},showRadio:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showRadio},checkNodeKey:{type:[String,Number],default:()=>(0,_ui.getConfig)().tree.checkNodeKey},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>(0,_ui.getConfig)().tree.showCheckbox},checkNodeKeys:{type:Array,default:()=>(0,_ui.getConfig)().tree.checkNodeKeys},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:()=>(0,_ui.getConfig)().tree.iconOpen},iconClose:{type:String,default:()=>(0,_ui.getConfig)().tree.iconClose},iconLoaded:{type:String,default:()=>(0,_ui.getConfig)().tree.iconLoaded},size:{type:String,default:()=>(0,_ui.getConfig)().tree.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","update:checkNodeKey","update:checkNodeKeys","node-click","node-dblclick","current-change","radio-change","checkbox-change","load-success","load-error"],setup(O,e){const{emit:o,slots:w}=e;var t=_xeUtils.default.uniqueId();const s=(0,_ui.useSize)(O)["computeSize"],u=(0,_vue.ref)(),I=(0,_vue.reactive)({currentNode:null,nodeMaps:{},selectRadioKey:O.checkNodeKey,treeList:[],treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},selectCheckboxMaps:{},indeterminateCheckboxMaps:{}});const y={refElem:u},V=(0,_vue.computed)(()=>O.titleField||"title"),d=(0,_vue.computed)(()=>O.keyField||"id"),h=(0,_vue.computed)(()=>{var e=d.value;return O.valueField||e}),E=(0,_vue.computed)(()=>O.parentField||"parentId"),K=(0,_vue.computed)(()=>O.childrenField||"children"),R=(0,_vue.computed)(()=>O.hasChildField||"hasChild"),m=(0,_vue.computed)(()=>{var e=v.value["isCurrent"];return _xeUtils.default.isBoolean(e)?e:O.isCurrent}),b=(0,_vue.computed)(()=>{var e=v.value["isHover"];return _xeUtils.default.isBoolean(e)?e:O.isHover}),T=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.radioConfig,O.radioConfig)),B=(0,_vue.computed)(()=>Object.assign({showIcon:!0},(0,_ui.getConfig)().tree.checkboxConfig,O.checkboxConfig)),v=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tree.nodeConfig,O.nodeConfig)),N=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tree.loadingConfig,O.loadingConfig)),M=(0,_vue.computed)(()=>{var{height:e,minHeight:t}=O,a={};return e&&(a.height=(0,_dom.toCssUnit)(e)),t&&(a.minHeight=(0,_dom.toCssUnit)(t)),a}),U={computeRadioOpts:T,computeCheckboxOpts:B,computeNodeOpts:v},p={xID:t,props:O,context:e,internalData:{},reactData:I,getRefMaps:()=>y,getComputeMaps:()=>U},j=e=>{var t=h.value,e=_xeUtils.default.get(e,t);return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)};const a=e=>{var t=I["selectRadioKey"];return t===e};const D=e=>{var t=I["selectCheckboxMaps"];return!!t[e]};const S=e=>{var t=I["indeterminateCheckboxMaps"];return!!t[e]};const L=e=>{o("update:checkNodeKeys",e)},P=e=>{o("update:checkNodeKey",e)};const l=(e,t)=>{const a=Object.assign({},I.selectCheckboxMaps);e.forEach(e=>{t?a[e]=!0:a[e]&&delete a[e]}),I.selectCheckboxMaps=a},n=e=>{const t={};e&&e.forEach(e=>{t[e]=!0}),I.selectCheckboxMaps=t},i=(e,t,a)=>{t?a[e]&&(a[e]=!0):a[e]&&delete a[e]},F=(e,t,a)=>{o(e,(0,_ui.createEvent)(a,{$tree:p},t))},c={dispatchEvent:F,clearRadioNode(){return(I.selectRadioKey=null,_vue.nextTick)()},setRadioNode:(e,t)=>(e&&(I.selectRadioKey=t?j(e):null),(0,_vue.nextTick)()),setCheckboxNode:(e,t)=>(e&&(_xeUtils.default.isArray(e)||(e=[e]),l(e.map(e=>j(e)),t)),(0,_vue.nextTick)()),setCheckboxByNodeId:(e,t)=>(e&&(_xeUtils.default.isArray(e)||(e=[e]),l(e,t)),(0,_vue.nextTick)()),clearCheckboxNode(){return I.selectCheckboxMaps={},(0,_vue.nextTick)()},setAllCheckboxNode(e){const t=Object.assign(I.selectCheckboxMaps);var a=K.value;return e&&_xeUtils.default.eachTree(I.treeList,e=>{e=j(e);t[e]=!0},{children:a}),I.selectCheckboxMaps=t,(0,_vue.nextTick)()},clearExpandNode(){return c.clearAllExpandNode()},clearAllExpandNode(){return _xeUtils.default.each(I.nodeMaps,e=>{e.treeLoaded=!1}),I.treeExpandedMaps={},(0,_vue.nextTick)()},setExpandByNodeId(e,t){const a=Object.assign(I.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{i(e,t,a)}),I.treeExpandedMaps=a),(0,_vue.nextTick)()},setExpandNode(e,t){const a=Object.assign(I.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=j(e);i(e,t,a)}),I.treeExpandedMaps=a),(0,_vue.nextTick)()},toggleExpandByNodeId(e){const t=Object.assign(I.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{i(e,!t[e],t)}),I.treeExpandedMaps=t),(0,_vue.nextTick)()},toggleExpandNode(e){const t=Object.assign(I.treeExpandedMaps);return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=j(e);i(e,!t[e],t)}),I.treeExpandedMaps=t),(0,_vue.nextTick)()},setAllExpandNode(){const t=Object.assign(I.treeExpandedMaps);var e=K.value;return _xeUtils.default.eachTree(I.treeList,e=>{e=j(e);t[e]=!0},{children:e}),I.treeExpandedMaps=t,(0,_vue.nextTick)()},reloadExpandNode(e){var t=O["lazy"];return t?(c.clearExpandLoaded(e),_(e)):(0,_vue.nextTick)()},clearExpandLoaded(e){var t=O["lazy"],a=I["nodeMaps"];return t&&(t=a[j(e)])&&(t.treeLoaded=!1),(0,_vue.nextTick)()},loadChildrenNode(i,e){const{lazy:t,transform:a}=O,r=I["nodeMaps"];if(!t)return Promise.resolve([]);const o=K.value,l=r[j(i)],c=l?l.level:0,s=l?l.nodes:[];return(e=>{const a=h.value;return Promise.resolve(e.map(e=>{var t,e=Object.assign({},e);return j(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,a,t)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,t,a,o,n,d)=>{e=j(e);r[e]={item:i,itemIndex:-1,items:a,parent:n||l.item,nodes:s.concat(d),level:c+d.length,lineCount:0,treeLoaded:!1}},{children:o}),i[o]=e,a&&(i[o]=e),x(i),e))},isExpandByNode:e=>{var t=I["treeExpandedMaps"];return!!t[j(e)]},isCheckedByRadioNodeId:a,isCheckedByRadioNode:e=>a(j(e)),isCheckedByCheckboxNodeId:D,isIndeterminateByCheckboxNode:e=>S(j(e)),isCheckedByCheckboxNode:e=>D(j(e))},r=e=>{var t=O["transform"],a=d.value,o=E.value,n=K.value;I.treeList=t?_xeUtils.default.toArrayTree(e,{key:a,parentKey:o,mapChildren:n}):e?e.slice(0):[];{t=I.treeList;const r=h.value,l=(a=K.value,{});_xeUtils.default.eachTree(t,(e,t,a,o,n,d)=>{let i=j(e);i||(i=getNodeUniqueId(),_xeUtils.default.set(e,r,i)),l[i]={item:e,itemIndex:t,items:a,parent:n,nodes:d,level:d.length,lineCount:0,treeLoaded:!1}},{children:a}),I.nodeMaps=l}},g=(e,o,n)=>{var t=I["treeExpandedMaps"],a=K.value,d=j(e);n.lineCount++,t[d]&&_xeUtils.default.arrayEach(e[a],(e,t,a)=>{(!o||t<a.length-1)&&g(e,!1,n)})},x=e=>{const a=I["nodeMaps"];e&&(e=j(e),e=a[e])&&_xeUtils.default.lastArrayEach(e.nodes,e=>{var t=j(e),t=a[t];t&&(t.lineCount=0,g(e,!0,t))})},$=(e,t)=>{var{showRadio:a,showCheckbox:o,trigger:n}=O,d=T.value,i=B.value;let r=!1,l=!1,c=!1,s=!1;m.value?(r=!0,((e,t)=>{e.preventDefault();const a=v.value,{currentMethod:o,trigger:n}=a,d=K.value,i=_xeUtils.default.get(t,d),r=i&&i.length;let l=!!o;if(n==="child"){if(r)return}else if(n==="parent")if(!r)return;if(o)l=!o({node:t});var c;l||(c=!0,I.currentNode=t,F("current-change",{node:t,checked:!0},e))})(e,t)):I.currentNode&&(I.currentNode=null),"node"===n&&(s=!0,z(e,t)),a&&"node"===d.trigger&&(l=!0,q(e,t)),o&&"node"===i.trigger&&(c=!0,A(e,t)),F("node-click",{node:t,triggerCurrent:r,triggerRadio:l,triggerCheckbox:c,triggerExpand:s},e)},_=i=>{var e=B.value;const a=O["loadMethod"],r=e["checkStrictly"];return new Promise(e=>{if(a){const o=I["treeExpandLazyLoadedMaps"];var t=I["nodeMaps"];const n=j(i),d=t[n];o[n]=!0,Promise.resolve(a({$tree:p,node:i})).then(a=>{if(d.treeLoaded=!0,o[n]&&delete o[n],a=_xeUtils.default.isArray(a)?a:[])return c.loadChildrenNode(i,a).then(e=>{var t=I["treeExpandedMaps"];return e.length&&!t[n]&&(t[n]=!0),!r&&c.isCheckedByCheckboxNodeId(n)&&l(e.map(e=>j(e)),!0),x(i),F("load-success",{node:i,data:a},new Event("load-success")),(0,_vue.nextTick)()});x(i),F("load-success",{node:i,data:a},new Event("load-success"))}).catch(e=>{var t=I["treeExpandLazyLoadedMaps"];d.treeLoaded=!1,t[n]&&delete t[n],x(i),F("load-error",{node:i,data:e},new Event("load-error"))}).finally(()=>(0,_vue.nextTick)())}else e()})},X=(e,t)=>{const{lazy:o,accordion:a,toggleMethod:n}=O,{nodeMaps:d,treeExpandLazyLoadedMaps:i}=I,r=Object.assign({},I.treeExpandedMaps),l=K.value,c=R.value,s=[];let u=n?e.filter(e=>n({$tree:p,expanded:t,node:e})):e;a&&(u=u.length?[u[u.length-1]]:[],e=j(u[0]),e=d[e])&&e.items.forEach(e=>{e=j(e);r[e]&&delete r[e]});const h=[];return t?u.forEach(e=>{var t,a=j(e);r[a]||(t=d[a],o&&e[c]&&!t.treeLoaded&&!i[a]?s.push(_(e)):e[l]&&e[l].length&&(r[a]=!0,h.push(e)))}):u.forEach(e=>{var t=j(e);r[t]&&(delete r[t],h.push(e))}),I.treeExpandedMaps=r,h.forEach(x),Promise.all(s)},z=(e,t)=>{var a=O["lazy"],{treeExpandedMaps:o,treeExpandLazyLoadedMaps:n}=I,d=j(t),o=!o[d];e.stopPropagation(),a&&n[d]||X([t],o)},f=(e,n,d)=>{var t=K.value,t=_xeUtils.default.get(e,t),e=j(e);if(t&&t.length){let a=!1,o=0;t.forEach(e=>{var e=j(e),t=n[e];(t||d[e])&&(t&&o++,a=!0)}),o===t.length?(n[e]||(n[e]=!0),d[e]&&delete d[e]):(n[e]&&delete n[e],d[e]=a)}else d[e]&&delete d[e]},G=()=>{var e=I["treeList"];const l=K.value;var t=B.value["checkStrictly"];if(!t){const c=Object.assign({},I.selectCheckboxMaps),s={};_xeUtils.default.eachTree(e,(e,t,a,o,n,d)=>{var i=_xeUtils.default.get(e,l);if(i&&i.length||f(e,c,s),t===a.length-1)for(let e=d.length-2;0<=e;e--){var r=d[e];f(r,c,s)}}),I.selectCheckboxMaps=c,I.indeterminateCheckboxMaps=s}},A=(e,a)=>{e.preventDefault(),e.stopPropagation();var{checkStrictly:o,checkMethod:n}=B.value;let t=!!n;if(!(t=n?!n({node:a}):t)){const i=Object.assign({},I.selectCheckboxMaps);var n=K.value,d=j(a);let t=!1;i[d]?delete i[d]:(t=!0,i[d]=t),o||_xeUtils.default.eachTree(_xeUtils.default.get(a,n),e=>{e=j(e);t?i[e]||(i[e]=!0):i[e]&&delete i[e]},{children:n}),I.selectCheckboxMaps=i,G();d=Object.keys(I.selectCheckboxMaps);L(d),F("checkbox-change",{node:a,value:d,checked:t},e)}},q=(e,t)=>{e.preventDefault(),e.stopPropagation();var a=T.value["checkMethod"];let o=!!a;(o=a?!a({node:t}):o)||(a=j(t),I.selectRadioKey=a,P(a),F("radio-change",{node:t,value:a,checked:!0},e))};Object.assign(p,c,{});const H=a=>{var{lazy:e,showRadio:t,showCheckbox:o,showLine:n,indent:d,iconOpen:i,iconClose:r,iconLoaded:l,showIcon:c}=O,{nodeMaps:s,treeExpandedMaps:u,currentNode:h,selectRadioKey:v,treeExpandLazyLoadedMaps:p}=I,g=K.value,x=V.value,_=R.value,g=_xeUtils.default.get(a,g),f=g&&g.length,C=w.title,k=w.extra,y=j(a),E=u[y],s=s[y],x=_xeUtils.default.get(a,x);const m=[];f&&u[y]&&(n&&m.push((0,_vue.h)("div",{key:"line",class:"vxe-tree--node-child-line",style:{height:`calc(${s.lineCount} * var(--vxe-ui-tree-node-height) - var(--vxe-ui-tree-node-height) / 2)`,left:(s.level+1)*(d||1)+"px"}})),g.forEach(e=>{m.push(H(e))}));let b=!1,N=(t&&(b=y==v),!1),M=(o&&(N=D(y)),!1),U=!1,L=!1;return e&&(U=!!p[y],M=a[_],L=!!s.treeLoaded),(0,_vue.h)("div",{class:["vxe-tree--node-wrapper","node--level-"+s.level],nodeid:y},[(0,_vue.h)("div",{class:["vxe-tree--node-item",{"is--current":h&&y===j(h),"is-radio--checked":b,"is-checkbox--checked":N}],style:{paddingLeft:(s.level-1)*(d||1)+"px"},onClick(e){$(e,a)},onDblclick(e){var t;e=e,t=a,F("node-dblclick",{node:t},e)}},[c||n?(0,_vue.h)("div",{class:"vxe-tree--node-item-switcher"},c&&(!e||L?f:M)?[(0,_vue.h)("div",{class:"vxe-tree--node-item-icon",onClick(e){z(e,a)}},[(0,_vue.h)("i",{class:U?l||(0,_ui.getIcon)().TREE_NODE_LOADED:E?i||(0,_ui.getIcon)().TREE_NODE_OPEN:r||(0,_ui.getIcon)().TREE_NODE_CLOSE})])]:[]):(0,_vue.createCommentVNode)(),((t,e)=>{var a=O["showRadio"],{showIcon:o,checkMethod:n,visibleMethod:d}=T.value,d=!d||d({node:t});let i=!!n;return a&&o&&d?(n&&(i=!n({node:t})),(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":e,"is--disabled":i}],onClick:e=>{i||q(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",e?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})])):(0,_vue.createCommentVNode)()})(a,b),((t,e,a)=>{var o=O["showCheckbox"],{showIcon:n,checkMethod:d,visibleMethod:i}=B.value,e=S(e),i=!i||i({node:t});let r=!!d;return o&&n&&i?(d&&(r=!d({node:t})),(0,_vue.h)("div",{class:["vxe-tree--checkbox-option",{"is--checked":a,"is--indeterminate":e,"is--disabled":r}],onClick:e=>{r||A(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?(0,_ui.getIcon)().CHECKBOX_INDETERMINATE:a?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})])):(0,_vue.createCommentVNode)()})(a,y,N),(0,_vue.h)("div",{class:"vxe-tree--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-tree--node-item-title"},C?(0,_vn.getSlotVNs)(C({node:a})):""+x),k?(0,_vue.h)("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(k({node:a}))):(0,_vue.createCommentVNode)()])]),f&&u[y]?(0,_vue.h)("div",{class:"vxe-tree--node-child-wrapper"},m):(0,_vue.createCommentVNode)()])};const C=(0,_vue.ref)(0),k=((0,_vue.watch)(()=>O.data?O.data.length:0,()=>{C.value++}),(0,_vue.watch)(()=>O.data,()=>{C.value++}),(0,_vue.watch)(C,()=>{r(O.data||[])}),(0,_vue.watch)(()=>O.checkNodeKey,e=>{I.selectRadioKey=e}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>O.checkNodeKeys?O.checkNodeKeys.length:0,()=>{k.value++}),(0,_vue.watch)(()=>O.checkNodeKeys,()=>{k.value++}),(0,_vue.watch)(k,()=>{n(O.checkNodeKeys||[])}),(0,_vue.onUnmounted)(()=>{I.treeList=[],I.treeExpandedMaps={},I.nodeMaps={}}),r(O.data||[]),n(O.checkNodeKeys||[]),p.renderVN=()=>{var{loading:e,trigger:t,showLine:a}=O,o=s.value,n=T.value,d=B.value,i=M.value,r=N.value,l=b.value;const c=w.loading;return(0,_vue.h)("div",{ref:u,class:["vxe-tree",{["size--"+o]:o,"show--line":a,"checkbox--highlight":d.highlight,"radio--highlight":n.highlight,"node--hover":l,"node--trigger":"node"===t,"is--loading":e}],style:i},[(o=I.treeList,(0,_vue.h)("div",{class:"vxe-tree--node-list-wrapper"},o.map(e=>H(e)))),(0,_vue.h)(_loading.default,{class:"vxe-tree--loading",modelValue:e,icon:r.icon,text:r.text},c?{default:()=>c({$tree:p})}:{})])},p},render(){return this.renderVN()}});
@@ -59,6 +59,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
59
59
  slots
60
60
  } = context;
61
61
  const $xeModal = (0, _vue.inject)('$xeModal', null);
62
+ const $xeDrawer = (0, _vue.inject)('$xeDrawer', null);
62
63
  const $xeTable = (0, _vue.inject)('$xeTable', null);
63
64
  const $xeForm = (0, _vue.inject)('$xeForm', null);
64
65
  const formItemInfo = (0, _vue.inject)('xeFormItemInfo', null);
@@ -83,6 +84,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
83
84
  visibleAnimate: false,
84
85
  isActivated: false
85
86
  });
87
+ const internalData = {
88
+ hpTimeout: undefined
89
+ };
86
90
  const refMaps = {
87
91
  refElem
88
92
  };
@@ -119,7 +123,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
119
123
  if (_xeUtils.default.isBoolean(globalTransfer)) {
120
124
  return globalTransfer;
121
125
  }
122
- if ($xeTable || $xeModal || $xeForm) {
126
+ if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
123
127
  return true;
124
128
  }
125
129
  }
@@ -180,9 +184,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
180
184
  const {
181
185
  fullNodeMaps
182
186
  } = reactData;
187
+ const labelField = computeLabelField.value;
183
188
  return (_xeUtils.default.isArray(modelValue) ? modelValue : [modelValue]).map(value => {
184
189
  const cacheItem = fullNodeMaps[value];
185
- const labelField = computeLabelField.value;
186
190
  return cacheItem ? cacheItem.item[labelField] : value;
187
191
  }).join(', ');
188
192
  });
@@ -192,6 +196,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
192
196
  props,
193
197
  context,
194
198
  reactData,
199
+ internalData,
195
200
  getRefMaps: () => refMaps,
196
201
  getComputeMaps: () => computeMaps
197
202
  };
@@ -220,7 +225,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
220
225
  const valueField = computeValueField.value;
221
226
  const childrenField = computeChildrenField.value;
222
227
  const nodeMaps = {};
223
- _xeUtils.default.eachTree(options, (item, index, items, parent, nodes) => {
228
+ _xeUtils.default.eachTree(options, (item, index, items, path, parent, nodes) => {
224
229
  let nodeid = getOptid(item);
225
230
  if (!nodeid) {
226
231
  nodeid = getOptUniqueId();
@@ -324,14 +329,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
324
329
  }
325
330
  });
326
331
  };
327
- let hidePanelTimeout;
328
332
  const showOptionPanel = () => {
329
333
  const {
330
334
  loading
331
335
  } = props;
332
336
  const isDisabled = computeIsDisabled.value;
333
337
  if (!loading && !isDisabled) {
334
- clearTimeout(hidePanelTimeout);
338
+ clearTimeout(internalData.hpTimeout);
335
339
  if (!reactData.initialized) {
336
340
  reactData.initialized = true;
337
341
  }
@@ -346,7 +350,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
346
350
  };
347
351
  const hideOptionPanel = () => {
348
352
  reactData.visiblePanel = false;
349
- hidePanelTimeout = window.setTimeout(() => {
353
+ internalData.hpTimeout = window.setTimeout(() => {
350
354
  reactData.visibleAnimate = false;
351
355
  }, 350);
352
356
  };
@@ -354,9 +358,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
354
358
  const {
355
359
  fullNodeMaps
356
360
  } = reactData;
361
+ emit('update:modelValue', selectValue);
357
362
  if (selectValue !== props.modelValue) {
358
363
  const cacheItem = fullNodeMaps[selectValue];
359
- emit('update:modelValue', selectValue);
360
364
  treeSelectMethods.dispatchEvent('change', {
361
365
  value: selectValue,
362
366
  option: cacheItem ? cacheItem.item : null
@@ -599,7 +603,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
599
603
  class: 'vxe-tree-select--panel-footer'
600
604
  }, footerSlot({})) : (0, _vue.createCommentVNode)()])] : [])])]);
601
605
  };
602
- $xeTreeSelect.renderVN = renderVN;
603
606
  (0, _vue.watch)(() => props.options, () => {
604
607
  cacheItemMap();
605
608
  });
@@ -614,6 +617,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
614
617
  _ui.globalEvents.off($xeTreeSelect, 'mousedown');
615
618
  _ui.globalEvents.off($xeTreeSelect, 'blur');
616
619
  });
620
+ (0, _vue.provide)('$xeTreeSelect', $xeTreeSelect);
621
+ $xeTreeSelect.renderVN = renderVN;
617
622
  return $xeTreeSelect;
618
623
  },
619
624
  render() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input/src/input")),_tree=_interopRequireDefault(require("../../tree/src/tree"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getOptUniqueId(){return _xeUtils.default.uniqueId("node_")}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().select.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().select.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},remote:Boolean,remoteMethod:Function,treeConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click","node-click"],setup(N,e){const{emit:i,slots:P}=e,l=(0,_vue.inject)("$xeModal",null),n=(0,_vue.inject)("$xeTable",null),a=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const T=(0,_ui.useSize)(N)["computeSize"],O=(0,_vue.ref)(),k=(0,_vue.ref)(),w=(0,_vue.ref)(),q=(0,_vue.ref)(),A=(0,_vue.reactive)({initialized:!1,fullOptionList:[],fullNodeMaps:{},visibleOptionList:[],panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,visibleAnimate:!1,isActivated:!1}),u={refElem:O},M=(0,_vue.computed)(()=>{var e=N["readonly"];return null===e?!!a&&a.props.readonly:e}),j=(0,_vue.computed)(()=>{var e=N["disabled"];return null===e?!!a&&a.props.disabled:e}),z=(0,_vue.computed)(()=>{var e=N["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(n||l||a)return!0}return e}),L=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.treeConfig,N.treeConfig)),U=(0,_vue.computed)(()=>{var e=L.value;return Object.assign({isHover:!0},e.nodeConfig)}),R=(0,_vue.computed)(()=>{var e=L.value;return Object.assign({showIcon:!!e.showCheckbox},e.checkboxConfig,{trigger:"node"})}),V=(0,_vue.computed)(()=>{var e=L.value;return Object.assign({showIcon:!!e.showRadio},e.radioConfig,{trigger:"node"})}),r=(0,_vue.computed)(()=>N.optionProps||{}),$=(0,_vue.computed)(()=>{return r.value.label||"label"}),B=(0,_vue.computed)(()=>{return r.value.value||"value"}),D=(0,_vue.computed)(()=>{return r.value.children||"children"}),K=(0,_vue.computed)(()=>{return r.value.parent||"parentField"}),Z=(0,_vue.computed)(()=>{return r.value.hasChild||"hasChild"}),G=(0,_vue.computed)(()=>{var e=N["modelValue"];const i=A["fullNodeMaps"];return(_xeUtils.default.isArray(e)?e:[e]).map(e=>{var t=i[e],l=$.value;return t?t.item[l]:e}).join(", ")}),g={},H={xID:t,props:N,context:e,reactData:A,getRefMaps:()=>u,getComputeMaps:()=>g},s={dispatchEvent(e,t,l){i(e,(0,_ui.createEvent)(l,{$treeSelect:H},t))}},d=()=>{var e=N["options"];const o=B.value;var t=D.value;const u={};_xeUtils.default.eachTree(e,(e,t,l,i,n)=>{let a=(e=>{e=e[B.value];return e?encodeURIComponent(e):""})(e);a||(a=getOptUniqueId(),e[o]=a),u[a]={item:e,index:t,items:l,parent:i,nodes:n}},{children:t}),A.fullOptionList=e||[],A.fullNodeMaps=u,(0,_vue.nextTick)()},v=()=>(0,_vue.nextTick)().then(()=>{var i=N["placement"],n=A["panelIndex"],a=O.value,o=q.value,e=z.value;if(o&&a){var u=a.offsetHeight,r=a.offsetWidth,s=o.offsetHeight,o=o.offsetWidth,n={zIndex:n},{boundingTop:a,boundingLeft:d,visibleHeight:v,visibleWidth:c}=(0,_dom.getAbsolutePos)(a);let l="bottom";if(e){let e=d,t=a+u;"top"===i?(l="top",t=a-s):i||(t+s+5>v&&(l="top",t=a-s),t<5&&(l="bottom",t=a+u)),e+o+5>c&&(e-=e+o+5-c),e<5&&(e=5),Object.assign(n,{left:e+"px",top:t+"px",minWidth:r+"px"})}else"top"===i?(l="top",n.bottom=u+"px"):i||v<a+u+s&&5<a-u-s&&(l="top",n.bottom=u+"px");return A.panelStyle=n,A.panelPlacement=l,(0,_vue.nextTick)()}});let c;const p=()=>{var e=N["loading"],t=j.value;e||t||(clearTimeout(c),A.initialized||(A.initialized=!0),A.isActivated=!0,A.visibleAnimate=!0,setTimeout(()=>{A.visiblePanel=!0},10),A.panelIndex<(0,_utils.getLastZIndex)()&&(A.panelIndex=(0,_utils.nextZIndex)()),v())},f=()=>{A.visiblePanel=!1,c=window.setTimeout(()=>{A.visibleAnimate=!1},350)},_=(e,t)=>{var l=A["fullNodeMaps"];t!==N.modelValue&&(l=l[t],i("update:modelValue",t),s.dispatchEvent("change",{value:t,option:l?l.item:null},e),a)&&o&&a.triggerItemEvent(e,o.itemConfig.field,t)},m=(e,t)=>{_(e,t),s.dispatchEvent("clear",{value:t},e)},J=(e,t)=>{m(t,null),f()},h=e=>{var t=A["visiblePanel"];j.value||t&&(t=q.value,((0,_dom.getEventTargetNode)(e,t).flag?v:f)())},b=e=>{var t,l,i=A["visiblePanel"];j.value||(t=O.value,l=q.value,A.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,i&&!A.isActivated&&f())},x=()=>{f()},Q=e=>{j.value||A.visiblePanel||(A.triggerFocusPanel=!0,p(),setTimeout(()=>{A.triggerFocusPanel=!1},150)),s.dispatchEvent("focus",{},e)},X=e=>{W(e),s.dispatchEvent("click",{},e)},Y=e=>{A.isActivated=!1,s.dispatchEvent("blur",{},e)},W=e=>{e=e.$event;e.preventDefault(),A.triggerFocusPanel?A.triggerFocusPanel=!1:(A.visiblePanel?f:p)()},ee=e=>{var t=e["$event"];s.dispatchEvent("node-click",e,t)},te=e=>{var{value:e,$event:t}=e;_(t,e),f()},le=e=>{var{value:e,$event:t}=e;_(t,e)};Object.assign(H,s,{});return H.renderVN=()=>{var{className:e,modelValue:t,multiple:l,options:i,popupClassName:n,loading:a}=N,{initialized:o,isActivated:u,visiblePanel:r}=A,s=T.value,d=j.value,v=G.value,c=z.value,p=M.value,f=P.default,_=P.header,g=P.footer;const m=P.prefix;var h=L.value,b=U.value,x=R.value,C=V.value,E=$.value,I=B.value,y=D.value,F=K.value,S=Z.value;return p?(0,_vue.h)("div",{ref:O,class:["vxe-tree-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-tree-select-slots",ref:"hideOption"},f?f({}):[]),(0,_vue.h)("span",{class:"vxe-tree-select-label"},v)]):(0,_vue.h)("div",{ref:O,class:["vxe-tree-select",e?_xeUtils.default.isFunction(e)?e({$treeSelect:H}):e:"",{["size--"+s]:s,"is--visible":r,"is--disabled":d,"is--loading":a,"is--active":u}]},[(0,_vue.h)(_input.default,{ref:k,clearable:N.clearable,placeholder:N.placeholder,readonly:!0,disabled:d,type:"text",prefixIcon:N.prefixIcon,suffixIcon:a?(0,_ui.getIcon)().TREE_SELECT_LOADED:r?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:v,onClear:J,onClick:X,onFocus:Q,onBlur:Y,onSuffixClick:W},m?{prefix:()=>m({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!c||!o},[(0,_vue.h)("div",{ref:q,class:["vxe-table--ignore-clear vxe-tree-select--panel",n?_xeUtils.default.isFunction(n)?n({$treeSelect:H}):n:"",{["size--"+s]:s,"is--transfer":c,"ani--leave":!a&&A.visibleAnimate,"ani--enter":!a&&r}],placement:A.panelPlacement,style:A.panelStyle},o?[(0,_vue.h)("div",{class:"vxe-tree-select--panel-wrapper"},[_?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},_({})):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-tree-select--panel-body"},[(0,_vue.h)("div",{ref:w,class:"vxe-tree-select-option--wrapper"},[(0,_vue.h)(_tree.default,{class:"vxe-tree-select--tree",data:i,indent:h.indent,showRadio:!l,radioConfig:C,checkNodeKey:l?null:t,showCheckbox:!!l,checkNodeKeys:l?t:null,checkboxConfig:x,titleField:E,valueField:I,keyField:h.keyField,childrenField:h.childrenField||y,parentField:h.parentField||F,hasChildField:h.hasChildField||S,accordion:h.accordion,nodeConfig:b,lazy:h.lazy,loadMethod:h.loadMethod,toggleMethod:h.toggleMethod,transform:h.transform,trigger:h.trigger,showIcon:h.showIcon,showLine:h.showLine,iconOpen:h.iconOpen,iconLoaded:h.iconLoaded,iconClose:h.iconClose,onNodeClick:ee,onRadioChange:te,onCheckboxChange:le})])]),g?(0,_vue.h)("div",{class:"vxe-tree-select--panel-footer"},g({})):(0,_vue.createCommentVNode)()])]:[])])])},(0,_vue.watch)(()=>N.options,()=>{d()}),d(),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(H,"mousewheel",h),_ui.globalEvents.on(H,"mousedown",b),_ui.globalEvents.on(H,"blur",x)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(H,"mousewheel"),_ui.globalEvents.off(H,"mousedown"),_ui.globalEvents.off(H,"blur")}),H},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input/src/input")),_tree=_interopRequireDefault(require("../../tree/src/tree"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getOptUniqueId(){return _xeUtils.default.uniqueId("node_")}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().select.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().select.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},remote:Boolean,remoteMethod:Function,treeConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click","node-click"],setup(S,e){const{emit:i,slots:N}=e,l=(0,_vue.inject)("$xeModal",null),n=(0,_vue.inject)("$xeDrawer",null),a=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),u=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const P=(0,_ui.useSize)(S)["computeSize"],w=(0,_vue.ref)(),O=(0,_vue.ref)(),k=(0,_vue.ref)(),q=(0,_vue.ref)(),j=(0,_vue.reactive)({initialized:!1,fullOptionList:[],fullNodeMaps:{},visibleOptionList:[],panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,visibleAnimate:!1,isActivated:!1}),r={hpTimeout:void 0},s={refElem:w},A=(0,_vue.computed)(()=>{var e=S["readonly"];return null===e?!!o&&o.props.readonly:e}),M=(0,_vue.computed)(()=>{var e=S["disabled"];return null===e?!!o&&o.props.disabled:e}),z=(0,_vue.computed)(()=>{var e=S["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(a||l||n||o)return!0}return e}),L=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.treeConfig,S.treeConfig)),U=(0,_vue.computed)(()=>{var e=L.value;return Object.assign({isHover:!0},e.nodeConfig)}),R=(0,_vue.computed)(()=>{var e=L.value;return Object.assign({showIcon:!!e.showCheckbox},e.checkboxConfig,{trigger:"node"})}),W=(0,_vue.computed)(()=>{var e=L.value;return Object.assign({showIcon:!!e.showRadio},e.radioConfig,{trigger:"node"})}),d=(0,_vue.computed)(()=>S.optionProps||{}),V=(0,_vue.computed)(()=>{return d.value.label||"label"}),$=(0,_vue.computed)(()=>{return d.value.value||"value"}),D=(0,_vue.computed)(()=>{return d.value.children||"children"}),K=(0,_vue.computed)(()=>{return d.value.parent||"parentField"}),Z=(0,_vue.computed)(()=>{return d.value.hasChild||"hasChild"}),G=(0,_vue.computed)(()=>{var e=S["modelValue"];const l=j["fullNodeMaps"],i=V.value;return(_xeUtils.default.isArray(e)?e:[e]).map(e=>{var t=l[e];return t?t.item[i]:e}).join(", ")}),m={},B={xID:t,props:S,context:e,reactData:j,internalData:r,getRefMaps:()=>s,getComputeMaps:()=>m},v={dispatchEvent(e,t,l){i(e,(0,_ui.createEvent)(l,{$treeSelect:B},t))}},c=()=>{var e=S["options"];const u=$.value;var t=D.value;const r={};_xeUtils.default.eachTree(e,(e,t,l,i,n,a)=>{let o=(e=>{e=e[$.value];return e?encodeURIComponent(e):""})(e);o||(o=getOptUniqueId(),e[u]=o),r[o]={item:e,index:t,items:l,parent:n,nodes:a}},{children:t}),j.fullOptionList=e||[],j.fullNodeMaps=r,(0,_vue.nextTick)()},p=()=>(0,_vue.nextTick)().then(()=>{var i=S["placement"],n=j["panelIndex"],a=w.value,o=q.value,e=z.value;if(o&&a){var u=a.offsetHeight,r=a.offsetWidth,s=o.offsetHeight,o=o.offsetWidth,n={zIndex:n},{boundingTop:a,boundingLeft:d,visibleHeight:v,visibleWidth:c}=(0,_dom.getAbsolutePos)(a);let l="bottom";if(e){let e=d,t=a+u;"top"===i?(l="top",t=a-s):i||(t+s+5>v&&(l="top",t=a-s),t<5&&(l="bottom",t=a+u)),e+o+5>c&&(e-=e+o+5-c),e<5&&(e=5),Object.assign(n,{left:e+"px",top:t+"px",minWidth:r+"px"})}else"top"===i?(l="top",n.bottom=u+"px"):i||v<a+u+s&&5<a-u-s&&(l="top",n.bottom=u+"px");return j.panelStyle=n,j.panelPlacement=l,(0,_vue.nextTick)()}}),f=()=>{var e=S["loading"],t=M.value;e||t||(clearTimeout(r.hpTimeout),j.initialized||(j.initialized=!0),j.isActivated=!0,j.visibleAnimate=!0,setTimeout(()=>{j.visiblePanel=!0},10),j.panelIndex<(0,_utils.getLastZIndex)()&&(j.panelIndex=(0,_utils.nextZIndex)()),p())},_=()=>{j.visiblePanel=!1,r.hpTimeout=window.setTimeout(()=>{j.visibleAnimate=!1},350)},g=(e,t)=>{var l=j["fullNodeMaps"];i("update:modelValue",t),t!==S.modelValue&&(l=l[t],v.dispatchEvent("change",{value:t,option:l?l.item:null},e),o)&&u&&o.triggerItemEvent(e,u.itemConfig.field,t)},h=(e,t)=>{g(e,t),v.dispatchEvent("clear",{value:t},e)},J=(e,t)=>{h(t,null),_()},b=e=>{var t=j["visiblePanel"];M.value||t&&(t=q.value,((0,_dom.getEventTargetNode)(e,t).flag?p:_)())},x=e=>{var t,l,i=j["visiblePanel"];M.value||(t=w.value,l=q.value,j.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,i&&!j.isActivated&&_())},C=()=>{_()},Q=e=>{M.value||j.visiblePanel||(j.triggerFocusPanel=!0,f(),setTimeout(()=>{j.triggerFocusPanel=!1},150)),v.dispatchEvent("focus",{},e)},X=e=>{H(e),v.dispatchEvent("click",{},e)},Y=e=>{j.isActivated=!1,v.dispatchEvent("blur",{},e)},H=e=>{e=e.$event;e.preventDefault(),j.triggerFocusPanel?j.triggerFocusPanel=!1:(j.visiblePanel?_:f)()},ee=e=>{var t=e["$event"];v.dispatchEvent("node-click",e,t)},te=e=>{var{value:e,$event:t}=e;g(t,e),_()},le=e=>{var{value:e,$event:t}=e;g(t,e)};Object.assign(B,v,{});return(0,_vue.watch)(()=>S.options,()=>{c()}),c(),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(B,"mousewheel",b),_ui.globalEvents.on(B,"mousedown",x),_ui.globalEvents.on(B,"blur",C)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(B,"mousewheel"),_ui.globalEvents.off(B,"mousedown"),_ui.globalEvents.off(B,"blur")}),(0,_vue.provide)("$xeTreeSelect",B),B.renderVN=()=>{var{className:e,modelValue:t,multiple:l,options:i,popupClassName:n,loading:a}=S,{initialized:o,isActivated:u,visiblePanel:r}=j,s=P.value,d=M.value,v=G.value,c=z.value,p=A.value,f=N.default,_=N.header,g=N.footer;const m=N.prefix;var h=L.value,b=U.value,x=R.value,C=W.value,E=V.value,I=$.value,y=D.value,T=K.value,F=Z.value;return p?(0,_vue.h)("div",{ref:w,class:["vxe-tree-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-tree-select-slots",ref:"hideOption"},f?f({}):[]),(0,_vue.h)("span",{class:"vxe-tree-select-label"},v)]):(0,_vue.h)("div",{ref:w,class:["vxe-tree-select",e?_xeUtils.default.isFunction(e)?e({$treeSelect:B}):e:"",{["size--"+s]:s,"is--visible":r,"is--disabled":d,"is--loading":a,"is--active":u}]},[(0,_vue.h)(_input.default,{ref:O,clearable:S.clearable,placeholder:S.placeholder,readonly:!0,disabled:d,type:"text",prefixIcon:S.prefixIcon,suffixIcon:a?(0,_ui.getIcon)().TREE_SELECT_LOADED:r?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:v,onClear:J,onClick:X,onFocus:Q,onBlur:Y,onSuffixClick:H},m?{prefix:()=>m({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!c||!o},[(0,_vue.h)("div",{ref:q,class:["vxe-table--ignore-clear vxe-tree-select--panel",n?_xeUtils.default.isFunction(n)?n({$treeSelect:B}):n:"",{["size--"+s]:s,"is--transfer":c,"ani--leave":!a&&j.visibleAnimate,"ani--enter":!a&&r}],placement:j.panelPlacement,style:j.panelStyle},o?[(0,_vue.h)("div",{class:"vxe-tree-select--panel-wrapper"},[_?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},_({})):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-tree-select--panel-body"},[(0,_vue.h)("div",{ref:k,class:"vxe-tree-select-option--wrapper"},[(0,_vue.h)(_tree.default,{class:"vxe-tree-select--tree",data:i,indent:h.indent,showRadio:!l,radioConfig:C,checkNodeKey:l?null:t,showCheckbox:!!l,checkNodeKeys:l?t:null,checkboxConfig:x,titleField:E,valueField:I,keyField:h.keyField,childrenField:h.childrenField||y,parentField:h.parentField||T,hasChildField:h.hasChildField||F,accordion:h.accordion,nodeConfig:b,lazy:h.lazy,loadMethod:h.loadMethod,toggleMethod:h.toggleMethod,transform:h.transform,trigger:h.trigger,showIcon:h.showIcon,showLine:h.showLine,iconOpen:h.iconOpen,iconLoaded:h.iconLoaded,iconClose:h.iconClose,onNodeClick:ee,onRadioChange:te,onCheckboxChange:le})])]),g?(0,_vue.h)("div",{class:"vxe-tree-select--panel-footer"},g({})):(0,_vue.createCommentVNode)()])]:[])])])},B},render(){return this.renderVN()}});
package/lib/ui/index.js CHANGED
@@ -6,11 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  var _exportNames = {
7
7
  version: true,
8
8
  config: true,
9
- setup: true,
10
- globalStore: true
9
+ setup: true
11
10
  };
12
11
  exports.config = config;
13
- exports.globalStore = exports.default = void 0;
12
+ exports.default = void 0;
14
13
  exports.setup = setup;
15
14
  exports.version = void 0;
16
15
  var _core = require("@vxe-ui/core");
@@ -28,7 +27,7 @@ Object.keys(_core).forEach(function (key) {
28
27
  var _dynamics = require("../dynamics");
29
28
  var _utils = require("./src/utils");
30
29
  var _log = require("./src/log");
31
- const version = exports.version = "4.1.19";
30
+ const version = exports.version = "4.1.21";
32
31
  _core.VxeUI.version = version;
33
32
  _core.VxeUI.uiVersion = version;
34
33
  _core.VxeUI.tableVersion = '';
@@ -49,12 +48,6 @@ function setup(options) {
49
48
  }
50
49
  _core.VxeUI.config = config;
51
50
  _core.VxeUI.setup = setup;
52
- /**
53
- * 已废弃
54
- * @deprecated
55
- */
56
- const globalStore = exports.globalStore = {};
57
- _core.VxeUI.globalStore = globalStore;
58
51
  (0, _core.setConfig)({
59
52
  alert: {},
60
53
  anchor: {},
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={version:!0,config:!0,setup:!0,globalStore:!0},_core=(exports.config=config,exports.globalStore=exports.default=void 0,exports.setup=setup,exports.version=void 0,require("@vxe-ui/core")),_dynamics=(Object.keys(_core).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_core[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _core[e]}})}),require("../dynamics")),_utils=require("./src/utils"),_log=require("./src/log");const version=exports.version="4.1.19";function config(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["config","setConfig"]),(0,_core.setConfig)(e)}function setup(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_core.setConfig)(e)}_core.VxeUI.version=version,_core.VxeUI.uiVersion=version,_core.VxeUI.tableVersion="",_core.VxeUI.t=_core.VxeUI.getI18n,_core.VxeUI._t=_utils.getFuncText,_core.VxeUI.dynamicApp=_dynamics.dynamicApp,_core.VxeUI.config=config,_core.VxeUI.setup=setup;const globalStore=exports.globalStore={},iconPrefix=(_core.VxeUI.globalStore=globalStore,(0,_core.setConfig)({alert:{},anchor:{},anchorLink:{},breadcrumb:{separator:"/"},breadcrumbItem:{},button:{trigger:"hover"},buttonGroup:{},calendar:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1},card:{border:!0,padding:!0},carousel:{height:200,loop:!0,interval:5e3},carouselItem:{},checkbox:{},checkboxGroup:{},col:{},collapse:{},collapsePane:{},countdown:{},datePicker:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1},drawer:{position:"right",showHeader:!0,lockView:!0,mask:!0,showTitleOverflow:!0,showClose:!0,padding:!0},form:{validConfig:{showMessage:!0,autoPos:!0},tooltipConfig:{enterable:!0},titleAsterisk:!0,titleOverflow:!1,padding:!0},formDesign:{height:400,showHeader:!0,showPc:!0},formGather:{},formItem:{},formView:{},icon:{},iconPicker:{icons:["home","company","comment","setting","send","envelope","envelope-open","bell","search","print","pc","goods","chart-line","edit","delete","save","folder","microphone","flag","link","location","sunny","rmb","usd","user","add-user","add-users","star","unlock","time","text","feedback","calendar","association-form","cloud-download","cloud-upload","file","subtable","chart-bar-x","chart-bar-y","chart-line","chart-pie","chart-radar"]},image:{showPreview:!0,showPrintButton:!0},imageGroup:{showPreview:!0,showPrintButton:!0},imagePreview:{showPrintButton:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},layoutAside:{},layoutBody:{},layoutContainer:{},layoutFooter:{},layoutHeader:{},link:{underline:!0},listDesign:{height:400,showPc:!0},listView:{},list:{scrollY:{enabled:!0,gt:100}},loading:{showIcon:!0,showText:!0},modal:{top:16,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,padding:!0,draggable:!0,showConfirmButton:null,zoomConfig:{minimizeMaxSize:10,minimizeVerticalOffset:{top:-24,left:0},minimizeHorizontalOffset:{top:0,left:32}},storageKey:"VXE_MODAL_POSITION"},numberInput:{digits:2,controls:!0},optgroup:{},option:{},pager:{pageSizePlacement:"top"},print:{},passwordInput:{},printPageBreak:{},pulldown:{},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},row:{},select:{multiCharOverflow:8},switch:{},tabPane:{},tabs:{},tag:{},text:{},textarea:{},tip:{},tooltip:{trigger:"hover",theme:"dark",enterDelay:500,leaveDelay:300},tree:{indent:20,minHeight:60,radioConfig:{strict:!0}},treeSelect:{treeConfig:{radioConfig:{},checkboxConfig:{}}},upload:{mode:"all",imageTypes:["jpg","jpeg","png","gif"],showList:!0,showUploadButton:!0,showButtonText:!0,showRemoveButton:!0,showButtonIcon:!0,showPreview:!0,imageStyle:{}},table:{},colgroup:{},column:{},toolbar:{},grid:{}}),"vxe-icon-");(0,_core.setIcon)({LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",MENU_ITEM_EXPAND_OPEN:iconPrefix+"arrow-down rotate180",MENU_ITEM_EXPAND_CLOSE:iconPrefix+"arrow-down",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",ICON_PICKER_OPEN:iconPrefix+"caret-down rotate180",ICON_PICKER_CLOSE:iconPrefix+"caret-down",PAGER_HOME:iconPrefix+"home-page",PAGER_END:iconPrefix+"end-page",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",RADIO_CHECKED:iconPrefix+"radio-checked-fill",RADIO_UNCHECKED:iconPrefix+"radio-unchecked",CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_SEARCH:iconPrefix+"search",NUMBER_INPUT_PREV_NUM:iconPrefix+"caret-up",NUMBER_INPUT_NEXT_NUM:iconPrefix+"caret-down",DATE_PICKER_DATE:iconPrefix+"calendar",PASSWORD_INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",PASSWORD_INPUT_HIDE_PWD:iconPrefix+"eye-fill",MODAL_ZOOM_MIN:iconPrefix+"minus",MODAL_ZOOM_REVERT:iconPrefix+"recover",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warning-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",DRAWER_CLOSE:iconPrefix+"close",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up",FORM_DESIGN_STYLE_SETTING:iconPrefix+"layout",FORM_DESIGN_PROPS_PC:iconPrefix+"pc",FORM_DESIGN_PROPS_MOBILE:iconPrefix+"mobile",FORM_DESIGN_PROPS_ADD:iconPrefix+"add",FORM_DESIGN_PROPS_EDIT:iconPrefix+"edit",FORM_DESIGN_WIDGET_ADD:iconPrefix+"square-plus-fill",FORM_DESIGN_WIDGET_COPY:iconPrefix+"copy",FORM_DESIGN_WIDGET_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_SWAP_LR:iconPrefix+"swap",FORM_DESIGN_WIDGET_OPTION_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN:iconPrefix+"square-plus",FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:iconPrefix+"square-minus",LIST_DESIGN_FIELD_SETTING:iconPrefix+"custom-column",LIST_DESIGN_LIST_SETTING:iconPrefix+"menu",LIST_DESIGN_LIST_SETTING_SEARCH_DELETE:iconPrefix+"delete",LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE:iconPrefix+"delete",UPLOAD_FILE_ERROR:iconPrefix+"warning-circle-fill",UPLOAD_FILE_ADD:iconPrefix+"upload",UPLOAD_FILE_REMOVE:iconPrefix+"delete",UPLOAD_FILE_DOWNLOAD:iconPrefix+"download",UPLOAD_IMAGE_RE_UPLOAD:iconPrefix+"repeat",UPLOAD_IMAGE_ADD:iconPrefix+"add",UPLOAD_IMAGE_REMOVE:iconPrefix+"close",UPLOAD_LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",UPLOAD_FILE_TYPE_DEFAULT:iconPrefix+"file",UPLOAD_FILE_TYPE_XLSX:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_XLS:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_PDF:iconPrefix+"file-pdf",UPLOAD_FILE_TYPE_PNG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_GIF:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPEG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_MD:iconPrefix+"file-markdown",UPLOAD_FILE_TYPE_PPD:iconPrefix+"file-ppt",UPLOAD_FILE_TYPE_DOCX:iconPrefix+"file-word",UPLOAD_FILE_TYPE_DOC:iconPrefix+"file-word",UPLOAD_FILE_TYPE_ZIP:iconPrefix+"file-zip",UPLOAD_FILE_TYPE_TXT:iconPrefix+"file-txt",IMAGE_PREVIEW_CLOSE:iconPrefix+"close",IMAGE_PREVIEW_PREVIOUS:iconPrefix+"arrow-left",IMAGE_PREVIEW_NEXT:iconPrefix+"arrow-right",IMAGE_PREVIEW_PCT_FULL:iconPrefix+"pct-full",IMAGE_PREVIEW_PCT_1_1:iconPrefix+"pct-1-1",IMAGE_PREVIEW_ZOOM_OUT:iconPrefix+"search-zoom-out",IMAGE_PREVIEW_ZOOM_IN:iconPrefix+"search-zoom-in",IMAGE_PREVIEW_ROTATE_LEFT:iconPrefix+"rotate-left",IMAGE_PREVIEW_ROTATE_RIGHT:iconPrefix+"rotate-right",IMAGE_PREVIEW_PRINT:iconPrefix+"print",IMAGE_PREVIEW_DOWNLOAD:iconPrefix+"download",ALERT_CLOSE:iconPrefix+"close",ALERT_INFO:iconPrefix+"info-circle-fill",ALERT_SUCCESS:iconPrefix+"success-circle-fill",ALERT_WARNING:iconPrefix+"warning-circle-fill",ALERT_ERROR:iconPrefix+"error-circle-fill",TREE_NODE_OPEN:iconPrefix+"caret-right rotate90",TREE_NODE_CLOSE:iconPrefix+"caret-right",TREE_NODE_LOADED:iconPrefix+"spinner roll",TREE_SELECT_LOADED:iconPrefix+"spinner roll",TREE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TREE_SELECT_CLOSE:iconPrefix+"caret-down",TABS_TAB_BUTTON_LEFT:iconPrefix+"arrow-left",TABS_TAB_BUTTON_RIGHT:iconPrefix+"arrow-right",TABS_TAB_CLOSE:iconPrefix+"close",TEXT_COPY:iconPrefix+"copy",TEXT_LOADING:iconPrefix+"spinner roll",CAROUSEL_HORIZONTAL_PREVIOUS:iconPrefix+"arrow-left",CAROUSEL_HORIZONTAL_NEXT:iconPrefix+"arrow-right",CAROUSEL_VERTICAL_PREVIOUS:iconPrefix+"arrow-up",CAROUSEL_VERTICAL_NEXT:iconPrefix+"arrow-down"});var _default=exports.default=_core.VxeUI;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={version:!0,config:!0,setup:!0},_core=(exports.config=config,exports.default=void 0,exports.setup=setup,exports.version=void 0,require("@vxe-ui/core")),_dynamics=(Object.keys(_core).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_core[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _core[e]}})}),require("../dynamics")),_utils=require("./src/utils"),_log=require("./src/log");const version=exports.version="4.1.21";function config(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["config","setConfig"]),(0,_core.setConfig)(e)}function setup(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_core.setConfig)(e)}_core.VxeUI.version=version,_core.VxeUI.uiVersion=version,_core.VxeUI.tableVersion="",_core.VxeUI.t=_core.VxeUI.getI18n,_core.VxeUI._t=_utils.getFuncText,_core.VxeUI.dynamicApp=_dynamics.dynamicApp,_core.VxeUI.config=config,_core.VxeUI.setup=setup,(0,_core.setConfig)({alert:{},anchor:{},anchorLink:{},breadcrumb:{separator:"/"},breadcrumbItem:{},button:{trigger:"hover"},buttonGroup:{},calendar:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1},card:{border:!0,padding:!0},carousel:{height:200,loop:!0,interval:5e3},carouselItem:{},checkbox:{},checkboxGroup:{},col:{},collapse:{},collapsePane:{},countdown:{},datePicker:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1},drawer:{position:"right",showHeader:!0,lockView:!0,mask:!0,showTitleOverflow:!0,showClose:!0,padding:!0},form:{validConfig:{showMessage:!0,autoPos:!0},tooltipConfig:{enterable:!0},titleAsterisk:!0,titleOverflow:!1,padding:!0},formDesign:{height:400,showHeader:!0,showPc:!0},formGather:{},formItem:{},formView:{},icon:{},iconPicker:{icons:["home","company","comment","setting","send","envelope","envelope-open","bell","search","print","pc","goods","chart-line","edit","delete","save","folder","microphone","flag","link","location","sunny","rmb","usd","user","add-user","add-users","star","unlock","time","text","feedback","calendar","association-form","cloud-download","cloud-upload","file","subtable","chart-bar-x","chart-bar-y","chart-line","chart-pie","chart-radar"]},image:{showPreview:!0,showPrintButton:!0},imageGroup:{showPreview:!0,showPrintButton:!0},imagePreview:{showPrintButton:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},layoutAside:{},layoutBody:{},layoutContainer:{},layoutFooter:{},layoutHeader:{},link:{underline:!0},listDesign:{height:400,showPc:!0},listView:{},list:{scrollY:{enabled:!0,gt:100}},loading:{showIcon:!0,showText:!0},modal:{top:16,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,padding:!0,draggable:!0,showConfirmButton:null,zoomConfig:{minimizeMaxSize:10,minimizeVerticalOffset:{top:-24,left:0},minimizeHorizontalOffset:{top:0,left:32}},storageKey:"VXE_MODAL_POSITION"},numberInput:{digits:2,controls:!0},optgroup:{},option:{},pager:{pageSizePlacement:"top"},print:{},passwordInput:{},printPageBreak:{},pulldown:{},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},row:{},select:{multiCharOverflow:8},switch:{},tabPane:{},tabs:{},tag:{},text:{},textarea:{},tip:{},tooltip:{trigger:"hover",theme:"dark",enterDelay:500,leaveDelay:300},tree:{indent:20,minHeight:60,radioConfig:{strict:!0}},treeSelect:{treeConfig:{radioConfig:{},checkboxConfig:{}}},upload:{mode:"all",imageTypes:["jpg","jpeg","png","gif"],showList:!0,showUploadButton:!0,showButtonText:!0,showRemoveButton:!0,showButtonIcon:!0,showPreview:!0,imageStyle:{}},table:{},colgroup:{},column:{},toolbar:{},grid:{}});const iconPrefix="vxe-icon-";(0,_core.setIcon)({LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",MENU_ITEM_EXPAND_OPEN:iconPrefix+"arrow-down rotate180",MENU_ITEM_EXPAND_CLOSE:iconPrefix+"arrow-down",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",ICON_PICKER_OPEN:iconPrefix+"caret-down rotate180",ICON_PICKER_CLOSE:iconPrefix+"caret-down",PAGER_HOME:iconPrefix+"home-page",PAGER_END:iconPrefix+"end-page",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",RADIO_CHECKED:iconPrefix+"radio-checked-fill",RADIO_UNCHECKED:iconPrefix+"radio-unchecked",CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_SEARCH:iconPrefix+"search",NUMBER_INPUT_PREV_NUM:iconPrefix+"caret-up",NUMBER_INPUT_NEXT_NUM:iconPrefix+"caret-down",DATE_PICKER_DATE:iconPrefix+"calendar",PASSWORD_INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",PASSWORD_INPUT_HIDE_PWD:iconPrefix+"eye-fill",MODAL_ZOOM_MIN:iconPrefix+"minus",MODAL_ZOOM_REVERT:iconPrefix+"recover",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warning-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",DRAWER_CLOSE:iconPrefix+"close",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up",FORM_DESIGN_STYLE_SETTING:iconPrefix+"layout",FORM_DESIGN_PROPS_PC:iconPrefix+"pc",FORM_DESIGN_PROPS_MOBILE:iconPrefix+"mobile",FORM_DESIGN_PROPS_ADD:iconPrefix+"add",FORM_DESIGN_PROPS_EDIT:iconPrefix+"edit",FORM_DESIGN_WIDGET_ADD:iconPrefix+"square-plus-fill",FORM_DESIGN_WIDGET_COPY:iconPrefix+"copy",FORM_DESIGN_WIDGET_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_SWAP_LR:iconPrefix+"swap",FORM_DESIGN_WIDGET_OPTION_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN:iconPrefix+"square-plus",FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:iconPrefix+"square-minus",LIST_DESIGN_FIELD_SETTING:iconPrefix+"custom-column",LIST_DESIGN_LIST_SETTING:iconPrefix+"menu",LIST_DESIGN_LIST_SETTING_SEARCH_DELETE:iconPrefix+"delete",LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE:iconPrefix+"delete",UPLOAD_FILE_ERROR:iconPrefix+"warning-circle-fill",UPLOAD_FILE_ADD:iconPrefix+"upload",UPLOAD_FILE_REMOVE:iconPrefix+"delete",UPLOAD_FILE_DOWNLOAD:iconPrefix+"download",UPLOAD_IMAGE_RE_UPLOAD:iconPrefix+"repeat",UPLOAD_IMAGE_ADD:iconPrefix+"add",UPLOAD_IMAGE_REMOVE:iconPrefix+"close",UPLOAD_LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",UPLOAD_FILE_TYPE_DEFAULT:iconPrefix+"file",UPLOAD_FILE_TYPE_XLSX:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_XLS:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_PDF:iconPrefix+"file-pdf",UPLOAD_FILE_TYPE_PNG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_GIF:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPEG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_MD:iconPrefix+"file-markdown",UPLOAD_FILE_TYPE_PPD:iconPrefix+"file-ppt",UPLOAD_FILE_TYPE_DOCX:iconPrefix+"file-word",UPLOAD_FILE_TYPE_DOC:iconPrefix+"file-word",UPLOAD_FILE_TYPE_ZIP:iconPrefix+"file-zip",UPLOAD_FILE_TYPE_TXT:iconPrefix+"file-txt",IMAGE_PREVIEW_CLOSE:iconPrefix+"close",IMAGE_PREVIEW_PREVIOUS:iconPrefix+"arrow-left",IMAGE_PREVIEW_NEXT:iconPrefix+"arrow-right",IMAGE_PREVIEW_PCT_FULL:iconPrefix+"pct-full",IMAGE_PREVIEW_PCT_1_1:iconPrefix+"pct-1-1",IMAGE_PREVIEW_ZOOM_OUT:iconPrefix+"search-zoom-out",IMAGE_PREVIEW_ZOOM_IN:iconPrefix+"search-zoom-in",IMAGE_PREVIEW_ROTATE_LEFT:iconPrefix+"rotate-left",IMAGE_PREVIEW_ROTATE_RIGHT:iconPrefix+"rotate-right",IMAGE_PREVIEW_PRINT:iconPrefix+"print",IMAGE_PREVIEW_DOWNLOAD:iconPrefix+"download",ALERT_CLOSE:iconPrefix+"close",ALERT_INFO:iconPrefix+"info-circle-fill",ALERT_SUCCESS:iconPrefix+"success-circle-fill",ALERT_WARNING:iconPrefix+"warning-circle-fill",ALERT_ERROR:iconPrefix+"error-circle-fill",TREE_NODE_OPEN:iconPrefix+"caret-right rotate90",TREE_NODE_CLOSE:iconPrefix+"caret-right",TREE_NODE_LOADED:iconPrefix+"spinner roll",TREE_SELECT_LOADED:iconPrefix+"spinner roll",TREE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TREE_SELECT_CLOSE:iconPrefix+"caret-down",TABS_TAB_BUTTON_LEFT:iconPrefix+"arrow-left",TABS_TAB_BUTTON_RIGHT:iconPrefix+"arrow-right",TABS_TAB_CLOSE:iconPrefix+"close",TEXT_COPY:iconPrefix+"copy",TEXT_LOADING:iconPrefix+"spinner roll",CAROUSEL_HORIZONTAL_PREVIOUS:iconPrefix+"arrow-left",CAROUSEL_HORIZONTAL_NEXT:iconPrefix+"arrow-right",CAROUSEL_VERTICAL_PREVIOUS:iconPrefix+"arrow-up",CAROUSEL_VERTICAL_NEXT:iconPrefix+"arrow-down"});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.warnLog = exports.errLog = void 0;
7
7
  var _core = require("@vxe-ui/core");
8
- const version = `ui v${"4.1.19"}`;
8
+ const version = `ui v${"4.1.21"}`;
9
9
  const warnLog = exports.warnLog = _core.log.create('warn', version);
10
10
  const errLog = exports.errLog = _core.log.create('error', version);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const version="ui v4.1.19",warnLog=exports.warnLog=_core.log.create("warn",version),errLog=exports.errLog=_core.log.create("error",version);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const version="ui v4.1.21",warnLog=exports.warnLog=_core.log.create("warn",version),errLog=exports.errLog=_core.log.create("error",version);
@@ -360,7 +360,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
360
360
  $upload: $xeUpload
361
361
  }, params));
362
362
  };
363
- const emitModel = value => {
363
+ const handleChange = value => {
364
364
  const {
365
365
  singleMode,
366
366
  urlMode
@@ -543,7 +543,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
543
543
  cacheItem.percent = 0;
544
544
  handleUploadResult(item, file).then(() => {
545
545
  if (urlMode) {
546
- emitModel(reactData.fileList);
546
+ handleChange(reactData.fileList);
547
547
  }
548
548
  });
549
549
  }
@@ -655,7 +655,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
655
655
  reactData.fileList = newFileList;
656
656
  reactData.fileCacheMaps = cacheMaps;
657
657
  Promise.all(urlMode ? uploadPromiseRests : []).then(() => {
658
- emitModel(newFileList);
658
+ handleChange(newFileList);
659
659
  // 自动更新校验状态
660
660
  if ($xeForm && formItemInfo) {
661
661
  $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, newFileList);
@@ -695,7 +695,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
695
695
  fileList
696
696
  } = reactData;
697
697
  fileList.splice(index, 1);
698
- emitModel(fileList);
698
+ handleChange(fileList);
699
699
  // 自动更新校验状态
700
700
  if ($xeForm && formItemInfo) {
701
701
  $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, fileList);
@@ -1207,7 +1207,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
1207
1207
  class: 'vxe-upload--drag-placeholder'
1208
1208
  }, (0, _ui.getI18n)('vxe.upload.dragPlaceholder')) : (0, _vue.createCommentVNode)()]);
1209
1209
  };
1210
- $xeUpload.renderVN = renderVN;
1211
1210
  const listFlag = (0, _vue.ref)(0);
1212
1211
  (0, _vue.watch)(() => props.modelValue ? props.modelValue.length : 0, () => {
1213
1212
  listFlag.value++;
@@ -1229,6 +1228,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1229
1228
  reactData.isDrag = false;
1230
1229
  });
1231
1230
  updateFileList();
1231
+ $xeUpload.renderVN = renderVN;
1232
1232
  return $xeUpload;
1233
1233
  },
1234
1234
  render() {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../..//ui/src/vn"),_log=require("../../ui/src/log"),_dom=require("../../ui/src/dom"),_util=require("./util"),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeUpload",props:{modelValue:[Array,String,Object],showList:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showList},moreConfig:Object,readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},mode:{type:String,default:()=>(0,_ui.getConfig)().upload.mode},imageTypes:{type:Array,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.imageTypes,!0)},imageStyle:{type:Object,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.imageStyle,!0)},fileTypes:{type:Array,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.fileTypes,!0)},keyField:String,singleMode:Boolean,urlMode:Boolean,multiple:Boolean,limitSize:{type:[String,Number],default:()=>(0,_ui.getConfig)().upload.limitSize},limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().upload.limitCount},nameField:{type:String,default:()=>(0,_ui.getConfig)().upload.nameField},typeField:{type:String,default:()=>(0,_ui.getConfig)().upload.typeField},urlField:{type:String,default:()=>(0,_ui.getConfig)().upload.urlField},sizeField:{type:String,default:()=>(0,_ui.getConfig)().upload.sizeField},showErrorStatus:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showErrorStatus},showProgress:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showProgress},progressText:{type:String,default:()=>(0,_ui.getConfig)().upload.progressText},autoHiddenButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.autoHiddenButton},showUploadButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showUploadButton},buttonText:{type:String,default:()=>(0,_ui.getConfig)().upload.buttonText},buttonIcon:{type:String,default:()=>(0,_ui.getConfig)().upload.buttonIcon},showButtonText:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showButtonText},showButtonIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showButtonIcon},showRemoveButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showRemoveButton},showDownloadButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showDownloadButton},showPreview:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showPreview},tipText:String,hintText:String,previewMethod:Function,uploadMethod:Function,beforeRemoveMethod:Function,removeMethod:Function,beforeDownloadMethod:Function,downloadMethod:Function,getUrlMethod:Function,getThumbnailUrlMethod:Function,size:{type:String,default:()=>(0,_ui.getConfig)().upload.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","add","remove","remove-fail","download","download-fail","upload-success","upload-error"],setup(C,e){const{emit:a,slots:f}=e,w=(0,_vue.inject)("$xeForm",null),I=(0,_vue.inject)("xeFormItemInfo",null);var o=_xeUtils.default.uniqueId();const h=(0,_ui.useSize)(C)["computeSize"],n=(0,_vue.ref)(),M=(0,_vue.reactive)({isDrag:!1,showMorePopup:!1,fileList:[],fileCacheMaps:{}}),r={imagePreviewTypes:["jpg","jpeg","png","gif"]},l={refElem:n},x=(0,_vue.computed)(()=>{var e=C["readonly"];return null===e?!!w&&w.props.readonly:e}),y=(0,_vue.computed)(()=>{var e=C["disabled"];return null===e?!!w&&w.props.disabled:e}),b=(0,_vue.computed)(()=>C.keyField||"_X_KEY"),d=(0,_vue.computed)(()=>"image"===C.mode),D=(0,_vue.computed)(()=>C.nameField||"name"),U=(0,_vue.computed)(()=>C.typeField||"type"),V=(0,_vue.computed)(()=>C.urlField||"url"),B=(0,_vue.computed)(()=>C.sizeField||"size"),z=(0,_vue.computed)(()=>1024*_xeUtils.default.toNumber(C.limitSize)*1024),P=(0,_vue.computed)(()=>C.multiple?_xeUtils.default.toNumber(C.limitCount):1),c=(0,_vue.computed)(()=>{var e=C["multiple"],o=M["fileList"],t=P.value;return e?!t||o.length>=t:1<=o.length}),T=(0,_vue.computed)(()=>{var e=_xeUtils.default.toNumber(C.limitSize);return e?1048576<e?e/1048576+"T":1024<e?e/1024+"G":e+"M":""}),g=(0,_vue.computed)(()=>{var{limitSize:e,fileTypes:o,multiple:t,limitCount:i}=C,l=C.tipText||C.hintText,a=d.value,u=T.value;return _xeUtils.default.isString(l)?l:(l=[],a?(t&&i&&l.push((0,_ui.getI18n)("vxe.upload.imgCountHint",[i])),e&&u&&l.push((0,_ui.getI18n)("vxe.upload.imgSizeHint",[u]))):(o&&o.length&&l.push((0,_ui.getI18n)("vxe.upload.fileTypeHint",[o.join("/")])),e&&u&&l.push((0,_ui.getI18n)("vxe.upload.fileSizeHint",[u])),t&&i&&l.push((0,_ui.getI18n)("vxe.upload.fileCountHint",[i]))),l.join((0,_ui.getI18n)("vxe.base.comma")))}),u=(0,_vue.computed)(()=>Object.assign({},C.imageStyle)),_=(0,_vue.computed)(()=>{var{width:e,height:o}=u.value,t={};return e&&(t.width=(0,_dom.toCssUnit)(e)),o&&(t.height=(0,_dom.toCssUnit)(o)),t}),s=(0,_vue.computed)(()=>Object.assign({showMoreButton:!0},C.moreConfig)),k={},m={xID:o,props:C,context:e,reactData:M,internalData:r,getRefMaps:()=>l,getComputeMaps:()=>k},L=()=>_xeUtils.default.uniqueId(),S=e=>{return e[b.value]},t=()=>{var{modelValue:e,multiple:o}=C,t=x.value;const i=b.value,l=D.value,a=U.value,u=V.value,n=B.value;e=e?(e?_xeUtils.default.isArray(e)?e:[e]:[]).map(e=>{if(!e||_xeUtils.default.isString(e)){var o=""+(e||"");const t=decodeURIComponent(""+(o||"")).split("/").pop()||"";return{[l]:t,[a]:N(t),[u]:o,[n]:0,[i]:L()}}const t=e[l]||"";return e[l]=t,e[a]=e[a]||N(t),e[u]=e[u]||"",e[n]=e[n]||0,e[i]=e[i]||L(),e}):[];M.fileList=t||o?e:e.slice(0,1)},N=e=>{var o=e?e.indexOf("."):-1;return-1<o?e.substring(o+1,e.length).toLowerCase():""},E=(e,o,t)=>{a(e,(0,_ui.createEvent)(t,{$upload:m},o))},F=e=>{var{singleMode:o,urlMode:t}=C;const i=V.value;let l=e?e.slice(0):[];t&&(l=l.map(e=>e[i])),a("update:modelValue",o?l[0]||null:l)},R=e=>{var o=C.getThumbnailUrlMethod||(0,_ui.getConfig)().upload.getThumbnailUrlMethod;return o?o({$upload:m,option:e}):v(e)},v=e=>{var o=C.getUrlMethod||(0,_ui.getConfig)().upload.getUrlMethod,t=V.value;return o?o({$upload:m,option:e}):e[t]},j=(e,o)=>{var t=C.previewMethod||(0,_ui.getConfig)().upload.previewMethod;if(C.showPreview)if(t)t({$upload:m,option:o});else{var i=o;var{imageTypes:t,showDownloadButton:o}=C;const a=U.value,u=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;var l=r["imagePreviewTypes"];l.concat(t||[]).some(e=>(""+e).toLowerCase()===(""+i[a]).toLowerCase())&&_ui.VxeUI.previewImage&&_ui.VxeUI.previewImage({urlList:[v(i)],showDownloadButton:o,beforeDownloadMethod:u?()=>u({$upload:m,option:i}):void 0})}},$=(e,o,t)=>{var i=C["showDownloadButton"];const l=M["fileList"],a=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;C.showPreview&&_ui.VxeUI.previewImage&&_ui.VxeUI.previewImage({urlList:l.map(e=>v(e)),activeIndex:t,showDownloadButton:i,beforeDownloadMethod:a?({index:e})=>a({$upload:m,option:l[e]}):void 0})},O=(t,e)=>{const i=C["showErrorStatus"],l=S(t);var o=C.uploadMethod||(0,_ui.getConfig)().upload.uploadMethod;return o?Promise.resolve(o({$upload:m,file:e,option:t,updateProgress(e){var o=M["fileCacheMaps"],o=o[S(t)];o&&(o.percent=Math.max(0,Math.min(99,_xeUtils.default.toNumber(e))))}})).then(e=>{var o=M["fileCacheMaps"],o=o[l];o&&(o.percent=100),Object.assign(t,e),E("upload-success",{option:t,data:e},null)}).catch(e=>{var o=M["fileCacheMaps"],o=o[l];o&&(o.status="error"),i?Object.assign(t,e):M.fileList=M.fileList.filter(e=>S(e)!==l),E("upload-error",{option:t,data:e},null)}).finally(()=>{var e=M["fileCacheMaps"],e=e[l];e&&(e.loading=!1)}):(o=M["fileCacheMaps"],(e=o[l])&&(e.loading=!1),Promise.resolve())},A=e=>{const{uploadMethod:o,urlMode:t}=C;var i,l=M["fileCacheMaps"],l=l[S(e)];(o||(0,_ui.getConfig)().upload.uploadMethod)&&l&&(i=l.file,l.loading=!0,l.status="",l.percent=0,O(e,i).then(()=>{t&&F(M.fileList)}))},q=(o,i)=>{var{multiple:e,urlMode:t}=C,l=M["fileList"];const a=C.uploadMethod||(0,_ui.getConfig)().upload.uploadMethod,u=b.value,n=D.value,r=U.value,d=V.value,s=B.value;var v=z.value;const p=P.value;var c=T.value;let g=o;if(e&&p){if(l.length>=p)return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",content:(0,_ui.getI18n)("vxe.upload.overCountErr",[p])}));const f=g.length-(p-l.length);if(0<f){const x=g.slice(p-l.length);_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",slots:{default(){return(0,_vue.h)("div",{class:"vxe-upload--file-message-over-error"},[(0,_vue.h)("div",{},(0,_ui.getI18n)("vxe.upload.overCountExtraErr",[p,f])),(0,_vue.h)("div",{class:"vxe-upload--file-message-over-extra"},x.map((e,o)=>(0,_vue.h)("div",{key:o,class:"vxe-upload--file-message-over-extra-item"},e.name)))])}}})}g=g.slice(0,p-l.length)}if(v)for(let e=0;e<o.length;e++)if(o[0].size>v)return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",content:(0,_ui.getI18n)("vxe.upload.overSizeErr",[c])}));const m=Object.assign({},M.fileCacheMaps),_=e?l:[],h=[];g.forEach(e=>{var o=e["name"],t=L(),o={[n]:o,[r]:N(o),[s]:e.size,[d]:"",[u]:t},t=(a&&(m[t]={file:e,loading:!0,status:"",percent:0}),(0,_vue.reactive)(o));a&&h.push(O(t,e)),_.push(t),E("add",{option:t},i)}),M.fileList=_,M.fileCacheMaps=m,Promise.all(t?h:[]).then(()=>{F(_),w&&I&&w.triggerItemEvent(i,I.itemConfig.field,_)})},H=o=>{var{multiple:e,imageTypes:t,fileTypes:i}=C,l=y.value,a=d.value;return l?Promise.resolve({status:!1,files:[],file:null}):(0,_util.readLocalFile)({multiple:e,types:a?t:i}).then(e=>(q(e.files,o),e))},G=e=>{H(e).catch(()=>{})},Y=(e,o,t)=>{var i=M["fileList"];i.splice(t,1),F(i),w&&I&&w.triggerItemEvent(e,I.itemConfig.field,i),E("remove",{option:o},e)},X=(o,t,i)=>{var e=C.beforeRemoveMethod||(0,_ui.getConfig)().upload.beforeRemoveMethod;const l=C.removeMethod||(0,_ui.getConfig)().upload.removeMethod;Promise.resolve(!e||e({$upload:m,option:t})).then(e=>{e?l?Promise.resolve(l({$upload:m,option:t})).then(()=>{Y(o,t,i)}).catch(e=>e):Y(o,t,i):E("remove-fail",{option:t},o)})},K=(e,o)=>{E("download",{option:o},e)},W=(o,t)=>{var e=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;const i=C.downloadMethod||(0,_ui.getConfig)().upload.downloadMethod;Promise.resolve(!e||e({$upload:m,option:t})).then(e=>{e?i?Promise.resolve(i({$upload:m,option:t})).then(()=>{K(o,t)}).catch(e=>e):K(o,t):E("download-fail",{option:t},o)})},J=e=>{var o,t,i,l=e.currentTarget,{clientX:e,clientY:a}=e;l&&({x:l,y:o,height:t,width:i}=l.getBoundingClientRect(),e<l||l+i<e||a<o||o+t<a)&&(M.isDrag=!1)},Q=e=>{var o=e.dataTransfer;o&&(o=o["items"],o)&&o.length&&(e.preventDefault(),M.isDrag=!0)},Z=e=>{var o=e.dataTransfer;if(o){o=o["items"];if(o&&o.length){const t=[];Array.from(o).forEach(e=>{e=e.getAsFile();e&&t.push(e)}),q(t,e),e.preventDefault()}}M.isDrag=!1},ee=()=>{const l=x.value,a=d.value;_ui.VxeUI.modal&&_ui.VxeUI.modal.open({title:l?(0,_ui.getI18n)("vxe.upload.morePopup.readTitle"):(0,_ui.getI18n)("vxe.upload.morePopup."+(a?"imageTitle":"fileTitle")),width:660,height:500,escClosable:!0,showMaximize:!0,resize:!0,maskClosable:!0,slots:{default(){var e=C["showErrorStatus"],o=M["isDrag"],t=y.value,i=M["fileList"];return(0,_vue.h)("div",{class:["vxe-upload--more-popup",{"is--readonly":l,"is--disabled":t,"show--error":e,"is--drag":o}],onDragover:Q,onDragleave:J,onDrop:Z},[a?(0,_vue.h)("div",{class:"vxe-upload--image-more-list"},te(i,!0).concat(ie(!0))):(0,_vue.h)("div",{class:"vxe-upload--file-more-list"},[p(!0),(0,_vue.h)("div",{class:"vxe-upload--file-list"},oe(i,!0))]),o?(0,_vue.h)("div",{class:"vxe-upload--drag-placeholder"},(0,_ui.getI18n)("vxe.upload.dragPlaceholder")):(0,_vue.createCommentVNode)()])}},onShow(){M.showMorePopup=!0},onHide(){M.showMorePopup=!1}})};o={dispatchEvent:E,choose(){return H(null)}};Object.assign(m,o,{});const oe=(e,a)=>{const{showRemoveButton:u,showDownloadButton:n,showProgress:r,progressText:d,showPreview:s,showErrorStatus:v}=C,p=M["fileCacheMaps"],c=y.value,g=x.value,m=D.value,_=U.value,h=f.corner;return e.map((o,t)=>{var e=S(o),e=p[e];const i=e&&e.loading,l=e&&"error"===e.status;return(0,_vue.h)("div",{key:t,class:["vxe-upload--file-item",{"is--preview":s,"is--loading":i,"is--error":l}]},[(0,_vue.h)("div",{class:"vxe-upload--file-item-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)()["UPLOAD_FILE_TYPE_"+(""+o[_]).toLocaleUpperCase()]||(0,_ui.getIcon)().UPLOAD_FILE_TYPE_DEFAULT})]),(0,_vue.h)("div",{class:"vxe-upload--file-item-name",onClick(e){i||l||j(e,o)}},""+(o[m]||"")),i?(0,_vue.h)("div",{class:"vxe-upload--file-item-loading-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_LOADING})]):(0,_vue.createCommentVNode)(),r&&i&&e?(0,_vue.h)("div",{class:"vxe-upload--file-item-loading-text"},d?_xeUtils.default.toFormatString(d,{percent:e.percent}):(0,_ui.getI18n)("vxe.upload.uploadProgress",[e.percent])):(0,_vue.createCommentVNode)(),v&&l?(0,_vue.h)("div",{class:"vxe-upload--image-item-error"},[(0,_vue.h)(_button.default,{icon:(0,_ui.getIcon)().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:(0,_ui.getI18n)("vxe.upload.reUpload"),onClick(){A(o)}})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-upload--file-item-btn-wrapper"},[h?(0,_vue.h)("div",{class:"vxe-upload--file-item-corner"},(0,_vn.getSlotVNs)(h({option:o,isMoreView:a,readonly:g}))):(0,_vue.createCommentVNode)(),n&&!i?(0,_vue.h)("div",{class:"vxe-upload--file-item-download-btn",onClick(e){W(e,o)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_FILE_DOWNLOAD})]):(0,_vue.createCommentVNode)(),!u||g||c||i?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-item-remove-btn",onClick(e){X(e,o,t)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_FILE_REMOVE})])])])})},p=e=>{var{showUploadButton:o,buttonText:t,buttonIcon:i,showButtonText:l,showButtonIcon:a,autoHiddenButton:u}=C,n=y.value,r=x.value,d=g.value,s=c.value,v=f.default,p=f.tip||f.hint;return r||!o?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-action"},[u&&s?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-action-btn",onClick:G},v?(0,_vn.getSlotVNs)(v({$upload:m})):[(0,_vue.h)(_button.default,{class:"vxe-upload--file-action-button",content:e||l?t?""+t:(0,_ui.getI18n)("vxe.upload.fileBtnText"):"",icon:a?i||(0,_ui.getIcon)().UPLOAD_FILE_ADD:"",disabled:n})]),e&&(d||p)?(0,_vue.h)("div",{class:"vxe-upload--file-action-tip"},p?(0,_vn.getSlotVNs)(p({$upload:m})):d):(0,_vue.createCommentVNode)()])},te=(e,a)=>{const{showRemoveButton:u,showProgress:n,progressText:r,showPreview:d,showErrorStatus:s}=C,v=M["fileCacheMaps"],p=y.value,c=x.value,g=_.value,m=f.corner;return e.map((o,t)=>{var e=S(o),e=v[e];const i=e&&e.loading,l=e&&"error"===e.status;return(0,_vue.h)("div",{key:t,class:["vxe-upload--image-item",{"is--preview":d,"is--loading":i,"is--error":l}]},[(0,_vue.h)("div",{class:"vxe-upload--image-item-box",style:a?null:g,title:(0,_ui.getI18n)("vxe.upload.viewItemTitle"),onClick(e){i||l||$(e,o,t)}},[i&&e?(0,_vue.h)("div",{class:"vxe-upload--image-item-loading"},[(0,_vue.h)("div",{class:"vxe-upload--image-item-loading-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_LOADING})]),n?(0,_vue.h)("div",{class:"vxe-upload--image-item-loading-text"},r?_xeUtils.default.toFormatString(r,{percent:e.percent}):(0,_ui.getI18n)("vxe.upload.uploadProgress",[e.percent])):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),i?(0,_vue.createCommentVNode)():l&&s?(0,_vue.h)("div",{class:"vxe-upload--image-item-error"},[(0,_vue.h)(_button.default,{icon:(0,_ui.getIcon)().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:(0,_ui.getI18n)("vxe.upload.reUpload"),onClick(){A(o)}})]):(0,_vue.h)("img",{class:"vxe-upload--image-item-img",src:R(o)}),(0,_vue.h)("div",{class:"vxe-upload--image-item-btn-wrapper",onClick(e){e.stopPropagation()}},[m?(0,_vue.h)("div",{class:"vxe-upload--file-item-corner"},(0,_vn.getSlotVNs)(m({option:o,isMoreView:a,readonly:c}))):(0,_vue.createCommentVNode)(),!u||c||p||i?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--image-item-remove-btn",onClick(e){e.stopPropagation(),X(e,o,t)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_IMAGE_REMOVE})])])])])})},ie=e=>{var{showUploadButton:o,buttonText:t,buttonIcon:i,showButtonText:l,showButtonIcon:a,autoHiddenButton:u}=C,n=x.value,r=g.value,d=c.value,s=_.value,v=f.default,p=f.hint;return n||!o||u&&d?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{key:"action",class:"vxe-upload--image-action"},[(0,_vue.h)("div",{class:"vxe-upload--image-action-btn",onClick:G},v?v({$upload:m}):[(0,_vue.h)("div",{class:"vxe-upload--image-action-box",style:e?null:s},[a?(0,_vue.h)("div",{class:"vxe-upload--image-action-icon"},[(0,_vue.h)("i",{class:i||(0,_ui.getIcon)().UPLOAD_IMAGE_ADD})]):(0,_vue.createCommentVNode)(),e||l?(0,_vue.h)("div",{class:"vxe-upload--image-action-content"},t?""+t:(0,_ui.getI18n)("vxe.upload.imgBtnText")):(0,_vue.createCommentVNode)(),e&&(r||p)?(0,_vue.h)("div",{class:"vxe-upload--image-action-hint"},p?(0,_vn.getSlotVNs)(p({$upload:m})):r):(0,_vue.createCommentVNode)()])])])};m.renderVN=()=>{var e=C["showErrorStatus"],{isDrag:o,showMorePopup:t}=M,i=h.value,l=y.value,a=x.value,u=d.value;return(0,_vue.h)("div",{ref:n,class:["vxe-upload",{["size--"+i]:i,"is--readonly":a,"is--disabled":l,"show--error":e,"is--drag":o}],onDragover:Q,onDragleave:J,onDrop:Z},[(u?()=>{var e=M["fileList"],{maxCount:o,showMoreButton:t}=s.value;let i=e,l=0;return o&&e.length>o&&(l=e.length-o,i=e.slice(0,o)),(0,_vue.h)("div",{key:"image",class:"vxe-upload--image-wrapper"},[(0,_vue.h)("div",{class:"vxe-upload--image-list"},te(i,!1).concat([t&&l?(0,_vue.h)("div",{class:"vxe-upload--image-over-more"},[(0,_vue.h)(_button.default,{mode:"text",content:(0,_ui.getI18n)("vxe.upload.moreBtnText",[e.length]),status:"primary",onClick:ee})]):(0,_vue.createCommentVNode)(),ie(!1)]))])}:()=>{var e=C["moreConfig"],o=M["fileList"],{maxCount:t,showMoreButton:i,layout:l}=s.value,l="horizontal"===l;let a=o,u=0;return t&&o.length>t&&(u=o.length-t,a=o.slice(0,t)),(0,_vue.h)("div",{key:"all",class:"vxe-upload--file-wrapper"},[i&&e&&l?(0,_vue.createCommentVNode)():p(!0),a.length||i&&l?(0,_vue.h)("div",{class:["vxe-upload--file-list-wrapper",{"is--horizontal":l}]},[a.length?(0,_vue.h)("div",{class:"vxe-upload--file-list"},oe(a,!1)):(0,_vue.createCommentVNode)(),i&&u?(0,_vue.h)("div",{class:"vxe-upload--file-over-more"},[(0,_vue.h)(_button.default,{mode:"text",content:(0,_ui.getI18n)("vxe.upload.moreBtnText",[o.length]),status:"primary",onClick:ee})]):(0,_vue.createCommentVNode)(),i&&e&&l?p(!1):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()])})(),o&&!t?(0,_vue.h)("div",{class:"vxe-upload--drag-placeholder"},(0,_ui.getI18n)("vxe.upload.dragPlaceholder")):(0,_vue.createCommentVNode)()])};const i=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.modelValue?C.modelValue.length:0,()=>{i.value++}),(0,_vue.watch)(()=>C.modelValue,()=>{i.value++}),(0,_vue.watch)(i,()=>{t()}),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&C.multiple&&C.singleMode&&(0,_log.errLog)("vxe.error.errConflicts",["multiple","single-mode"])}),(0,_vue.onUnmounted)(()=>{M.isDrag=!1}),t(),m},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../..//ui/src/vn"),_log=require("../../ui/src/log"),_dom=require("../../ui/src/dom"),_util=require("./util"),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeUpload",props:{modelValue:[Array,String,Object],showList:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showList},moreConfig:Object,readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},mode:{type:String,default:()=>(0,_ui.getConfig)().upload.mode},imageTypes:{type:Array,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.imageTypes,!0)},imageStyle:{type:Object,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.imageStyle,!0)},fileTypes:{type:Array,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.fileTypes,!0)},keyField:String,singleMode:Boolean,urlMode:Boolean,multiple:Boolean,limitSize:{type:[String,Number],default:()=>(0,_ui.getConfig)().upload.limitSize},limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().upload.limitCount},nameField:{type:String,default:()=>(0,_ui.getConfig)().upload.nameField},typeField:{type:String,default:()=>(0,_ui.getConfig)().upload.typeField},urlField:{type:String,default:()=>(0,_ui.getConfig)().upload.urlField},sizeField:{type:String,default:()=>(0,_ui.getConfig)().upload.sizeField},showErrorStatus:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showErrorStatus},showProgress:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showProgress},progressText:{type:String,default:()=>(0,_ui.getConfig)().upload.progressText},autoHiddenButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.autoHiddenButton},showUploadButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showUploadButton},buttonText:{type:String,default:()=>(0,_ui.getConfig)().upload.buttonText},buttonIcon:{type:String,default:()=>(0,_ui.getConfig)().upload.buttonIcon},showButtonText:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showButtonText},showButtonIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showButtonIcon},showRemoveButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showRemoveButton},showDownloadButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showDownloadButton},showPreview:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showPreview},tipText:String,hintText:String,previewMethod:Function,uploadMethod:Function,beforeRemoveMethod:Function,removeMethod:Function,beforeDownloadMethod:Function,downloadMethod:Function,getUrlMethod:Function,getThumbnailUrlMethod:Function,size:{type:String,default:()=>(0,_ui.getConfig)().upload.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","add","remove","remove-fail","download","download-fail","upload-success","upload-error"],setup(C,e){const{emit:a,slots:f}=e,w=(0,_vue.inject)("$xeForm",null),I=(0,_vue.inject)("xeFormItemInfo",null);var o=_xeUtils.default.uniqueId();const h=(0,_ui.useSize)(C)["computeSize"],n=(0,_vue.ref)(),M=(0,_vue.reactive)({isDrag:!1,showMorePopup:!1,fileList:[],fileCacheMaps:{}}),r={imagePreviewTypes:["jpg","jpeg","png","gif"]},l={refElem:n},x=(0,_vue.computed)(()=>{var e=C["readonly"];return null===e?!!w&&w.props.readonly:e}),y=(0,_vue.computed)(()=>{var e=C["disabled"];return null===e?!!w&&w.props.disabled:e}),b=(0,_vue.computed)(()=>C.keyField||"_X_KEY"),d=(0,_vue.computed)(()=>"image"===C.mode),D=(0,_vue.computed)(()=>C.nameField||"name"),U=(0,_vue.computed)(()=>C.typeField||"type"),V=(0,_vue.computed)(()=>C.urlField||"url"),B=(0,_vue.computed)(()=>C.sizeField||"size"),z=(0,_vue.computed)(()=>1024*_xeUtils.default.toNumber(C.limitSize)*1024),P=(0,_vue.computed)(()=>C.multiple?_xeUtils.default.toNumber(C.limitCount):1),c=(0,_vue.computed)(()=>{var e=C["multiple"],o=M["fileList"],t=P.value;return e?!t||o.length>=t:1<=o.length}),T=(0,_vue.computed)(()=>{var e=_xeUtils.default.toNumber(C.limitSize);return e?1048576<e?e/1048576+"T":1024<e?e/1024+"G":e+"M":""}),g=(0,_vue.computed)(()=>{var{limitSize:e,fileTypes:o,multiple:t,limitCount:i}=C,l=C.tipText||C.hintText,a=d.value,u=T.value;return _xeUtils.default.isString(l)?l:(l=[],a?(t&&i&&l.push((0,_ui.getI18n)("vxe.upload.imgCountHint",[i])),e&&u&&l.push((0,_ui.getI18n)("vxe.upload.imgSizeHint",[u]))):(o&&o.length&&l.push((0,_ui.getI18n)("vxe.upload.fileTypeHint",[o.join("/")])),e&&u&&l.push((0,_ui.getI18n)("vxe.upload.fileSizeHint",[u])),t&&i&&l.push((0,_ui.getI18n)("vxe.upload.fileCountHint",[i]))),l.join((0,_ui.getI18n)("vxe.base.comma")))}),u=(0,_vue.computed)(()=>Object.assign({},C.imageStyle)),_=(0,_vue.computed)(()=>{var{width:e,height:o}=u.value,t={};return e&&(t.width=(0,_dom.toCssUnit)(e)),o&&(t.height=(0,_dom.toCssUnit)(o)),t}),s=(0,_vue.computed)(()=>Object.assign({showMoreButton:!0},C.moreConfig)),k={},m={xID:o,props:C,context:e,reactData:M,internalData:r,getRefMaps:()=>l,getComputeMaps:()=>k},L=()=>_xeUtils.default.uniqueId(),S=e=>{return e[b.value]},t=()=>{var{modelValue:e,multiple:o}=C,t=x.value;const i=b.value,l=D.value,a=U.value,u=V.value,n=B.value;e=e?(e?_xeUtils.default.isArray(e)?e:[e]:[]).map(e=>{if(!e||_xeUtils.default.isString(e)){var o=""+(e||"");const t=decodeURIComponent(""+(o||"")).split("/").pop()||"";return{[l]:t,[a]:N(t),[u]:o,[n]:0,[i]:L()}}const t=e[l]||"";return e[l]=t,e[a]=e[a]||N(t),e[u]=e[u]||"",e[n]=e[n]||0,e[i]=e[i]||L(),e}):[];M.fileList=t||o?e:e.slice(0,1)},N=e=>{var o=e?e.indexOf("."):-1;return-1<o?e.substring(o+1,e.length).toLowerCase():""},E=(e,o,t)=>{a(e,(0,_ui.createEvent)(t,{$upload:m},o))},F=e=>{var{singleMode:o,urlMode:t}=C;const i=V.value;let l=e?e.slice(0):[];t&&(l=l.map(e=>e[i])),a("update:modelValue",o?l[0]||null:l)},R=e=>{var o=C.getThumbnailUrlMethod||(0,_ui.getConfig)().upload.getThumbnailUrlMethod;return o?o({$upload:m,option:e}):v(e)},v=e=>{var o=C.getUrlMethod||(0,_ui.getConfig)().upload.getUrlMethod,t=V.value;return o?o({$upload:m,option:e}):e[t]},j=(e,o)=>{var t=C.previewMethod||(0,_ui.getConfig)().upload.previewMethod;if(C.showPreview)if(t)t({$upload:m,option:o});else{var i=o;var{imageTypes:t,showDownloadButton:o}=C;const a=U.value,u=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;var l=r["imagePreviewTypes"];l.concat(t||[]).some(e=>(""+e).toLowerCase()===(""+i[a]).toLowerCase())&&_ui.VxeUI.previewImage&&_ui.VxeUI.previewImage({urlList:[v(i)],showDownloadButton:o,beforeDownloadMethod:u?()=>u({$upload:m,option:i}):void 0})}},$=(e,o,t)=>{var i=C["showDownloadButton"];const l=M["fileList"],a=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;C.showPreview&&_ui.VxeUI.previewImage&&_ui.VxeUI.previewImage({urlList:l.map(e=>v(e)),activeIndex:t,showDownloadButton:i,beforeDownloadMethod:a?({index:e})=>a({$upload:m,option:l[e]}):void 0})},O=(t,e)=>{const i=C["showErrorStatus"],l=S(t);var o=C.uploadMethod||(0,_ui.getConfig)().upload.uploadMethod;return o?Promise.resolve(o({$upload:m,file:e,option:t,updateProgress(e){var o=M["fileCacheMaps"],o=o[S(t)];o&&(o.percent=Math.max(0,Math.min(99,_xeUtils.default.toNumber(e))))}})).then(e=>{var o=M["fileCacheMaps"],o=o[l];o&&(o.percent=100),Object.assign(t,e),E("upload-success",{option:t,data:e},null)}).catch(e=>{var o=M["fileCacheMaps"],o=o[l];o&&(o.status="error"),i?Object.assign(t,e):M.fileList=M.fileList.filter(e=>S(e)!==l),E("upload-error",{option:t,data:e},null)}).finally(()=>{var e=M["fileCacheMaps"],e=e[l];e&&(e.loading=!1)}):(o=M["fileCacheMaps"],(e=o[l])&&(e.loading=!1),Promise.resolve())},A=e=>{const{uploadMethod:o,urlMode:t}=C;var i,l=M["fileCacheMaps"],l=l[S(e)];(o||(0,_ui.getConfig)().upload.uploadMethod)&&l&&(i=l.file,l.loading=!0,l.status="",l.percent=0,O(e,i).then(()=>{t&&F(M.fileList)}))},q=(o,i)=>{var{multiple:e,urlMode:t}=C,l=M["fileList"];const a=C.uploadMethod||(0,_ui.getConfig)().upload.uploadMethod,u=b.value,n=D.value,r=U.value,d=V.value,s=B.value;var v=z.value;const p=P.value;var c=T.value;let g=o;if(e&&p){if(l.length>=p)return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",content:(0,_ui.getI18n)("vxe.upload.overCountErr",[p])}));const f=g.length-(p-l.length);if(0<f){const x=g.slice(p-l.length);_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",slots:{default(){return(0,_vue.h)("div",{class:"vxe-upload--file-message-over-error"},[(0,_vue.h)("div",{},(0,_ui.getI18n)("vxe.upload.overCountExtraErr",[p,f])),(0,_vue.h)("div",{class:"vxe-upload--file-message-over-extra"},x.map((e,o)=>(0,_vue.h)("div",{key:o,class:"vxe-upload--file-message-over-extra-item"},e.name)))])}}})}g=g.slice(0,p-l.length)}if(v)for(let e=0;e<o.length;e++)if(o[0].size>v)return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",content:(0,_ui.getI18n)("vxe.upload.overSizeErr",[c])}));const m=Object.assign({},M.fileCacheMaps),_=e?l:[],h=[];g.forEach(e=>{var o=e["name"],t=L(),o={[n]:o,[r]:N(o),[s]:e.size,[d]:"",[u]:t},t=(a&&(m[t]={file:e,loading:!0,status:"",percent:0}),(0,_vue.reactive)(o));a&&h.push(O(t,e)),_.push(t),E("add",{option:t},i)}),M.fileList=_,M.fileCacheMaps=m,Promise.all(t?h:[]).then(()=>{F(_),w&&I&&w.triggerItemEvent(i,I.itemConfig.field,_)})},H=o=>{var{multiple:e,imageTypes:t,fileTypes:i}=C,l=y.value,a=d.value;return l?Promise.resolve({status:!1,files:[],file:null}):(0,_util.readLocalFile)({multiple:e,types:a?t:i}).then(e=>(q(e.files,o),e))},G=e=>{H(e).catch(()=>{})},Y=(e,o,t)=>{var i=M["fileList"];i.splice(t,1),F(i),w&&I&&w.triggerItemEvent(e,I.itemConfig.field,i),E("remove",{option:o},e)},X=(o,t,i)=>{var e=C.beforeRemoveMethod||(0,_ui.getConfig)().upload.beforeRemoveMethod;const l=C.removeMethod||(0,_ui.getConfig)().upload.removeMethod;Promise.resolve(!e||e({$upload:m,option:t})).then(e=>{e?l?Promise.resolve(l({$upload:m,option:t})).then(()=>{Y(o,t,i)}).catch(e=>e):Y(o,t,i):E("remove-fail",{option:t},o)})},K=(e,o)=>{E("download",{option:o},e)},W=(o,t)=>{var e=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;const i=C.downloadMethod||(0,_ui.getConfig)().upload.downloadMethod;Promise.resolve(!e||e({$upload:m,option:t})).then(e=>{e?i?Promise.resolve(i({$upload:m,option:t})).then(()=>{K(o,t)}).catch(e=>e):K(o,t):E("download-fail",{option:t},o)})},J=e=>{var o,t,i,l=e.currentTarget,{clientX:e,clientY:a}=e;l&&({x:l,y:o,height:t,width:i}=l.getBoundingClientRect(),e<l||l+i<e||a<o||o+t<a)&&(M.isDrag=!1)},Q=e=>{var o=e.dataTransfer;o&&(o=o["items"],o)&&o.length&&(e.preventDefault(),M.isDrag=!0)},Z=e=>{var o=e.dataTransfer;if(o){o=o["items"];if(o&&o.length){const t=[];Array.from(o).forEach(e=>{e=e.getAsFile();e&&t.push(e)}),q(t,e),e.preventDefault()}}M.isDrag=!1},ee=()=>{const l=x.value,a=d.value;_ui.VxeUI.modal&&_ui.VxeUI.modal.open({title:l?(0,_ui.getI18n)("vxe.upload.morePopup.readTitle"):(0,_ui.getI18n)("vxe.upload.morePopup."+(a?"imageTitle":"fileTitle")),width:660,height:500,escClosable:!0,showMaximize:!0,resize:!0,maskClosable:!0,slots:{default(){var e=C["showErrorStatus"],o=M["isDrag"],t=y.value,i=M["fileList"];return(0,_vue.h)("div",{class:["vxe-upload--more-popup",{"is--readonly":l,"is--disabled":t,"show--error":e,"is--drag":o}],onDragover:Q,onDragleave:J,onDrop:Z},[a?(0,_vue.h)("div",{class:"vxe-upload--image-more-list"},te(i,!0).concat(ie(!0))):(0,_vue.h)("div",{class:"vxe-upload--file-more-list"},[p(!0),(0,_vue.h)("div",{class:"vxe-upload--file-list"},oe(i,!0))]),o?(0,_vue.h)("div",{class:"vxe-upload--drag-placeholder"},(0,_ui.getI18n)("vxe.upload.dragPlaceholder")):(0,_vue.createCommentVNode)()])}},onShow(){M.showMorePopup=!0},onHide(){M.showMorePopup=!1}})};o={dispatchEvent:E,choose(){return H(null)}};Object.assign(m,o,{});const oe=(e,a)=>{const{showRemoveButton:u,showDownloadButton:n,showProgress:r,progressText:d,showPreview:s,showErrorStatus:v}=C,p=M["fileCacheMaps"],c=y.value,g=x.value,m=D.value,_=U.value,h=f.corner;return e.map((o,t)=>{var e=S(o),e=p[e];const i=e&&e.loading,l=e&&"error"===e.status;return(0,_vue.h)("div",{key:t,class:["vxe-upload--file-item",{"is--preview":s,"is--loading":i,"is--error":l}]},[(0,_vue.h)("div",{class:"vxe-upload--file-item-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)()["UPLOAD_FILE_TYPE_"+(""+o[_]).toLocaleUpperCase()]||(0,_ui.getIcon)().UPLOAD_FILE_TYPE_DEFAULT})]),(0,_vue.h)("div",{class:"vxe-upload--file-item-name",onClick(e){i||l||j(e,o)}},""+(o[m]||"")),i?(0,_vue.h)("div",{class:"vxe-upload--file-item-loading-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_LOADING})]):(0,_vue.createCommentVNode)(),r&&i&&e?(0,_vue.h)("div",{class:"vxe-upload--file-item-loading-text"},d?_xeUtils.default.toFormatString(d,{percent:e.percent}):(0,_ui.getI18n)("vxe.upload.uploadProgress",[e.percent])):(0,_vue.createCommentVNode)(),v&&l?(0,_vue.h)("div",{class:"vxe-upload--image-item-error"},[(0,_vue.h)(_button.default,{icon:(0,_ui.getIcon)().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:(0,_ui.getI18n)("vxe.upload.reUpload"),onClick(){A(o)}})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-upload--file-item-btn-wrapper"},[h?(0,_vue.h)("div",{class:"vxe-upload--file-item-corner"},(0,_vn.getSlotVNs)(h({option:o,isMoreView:a,readonly:g}))):(0,_vue.createCommentVNode)(),n&&!i?(0,_vue.h)("div",{class:"vxe-upload--file-item-download-btn",onClick(e){W(e,o)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_FILE_DOWNLOAD})]):(0,_vue.createCommentVNode)(),!u||g||c||i?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-item-remove-btn",onClick(e){X(e,o,t)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_FILE_REMOVE})])])])})},p=e=>{var{showUploadButton:o,buttonText:t,buttonIcon:i,showButtonText:l,showButtonIcon:a,autoHiddenButton:u}=C,n=y.value,r=x.value,d=g.value,s=c.value,v=f.default,p=f.tip||f.hint;return r||!o?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-action"},[u&&s?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-action-btn",onClick:G},v?(0,_vn.getSlotVNs)(v({$upload:m})):[(0,_vue.h)(_button.default,{class:"vxe-upload--file-action-button",content:e||l?t?""+t:(0,_ui.getI18n)("vxe.upload.fileBtnText"):"",icon:a?i||(0,_ui.getIcon)().UPLOAD_FILE_ADD:"",disabled:n})]),e&&(d||p)?(0,_vue.h)("div",{class:"vxe-upload--file-action-tip"},p?(0,_vn.getSlotVNs)(p({$upload:m})):d):(0,_vue.createCommentVNode)()])},te=(e,a)=>{const{showRemoveButton:u,showProgress:n,progressText:r,showPreview:d,showErrorStatus:s}=C,v=M["fileCacheMaps"],p=y.value,c=x.value,g=_.value,m=f.corner;return e.map((o,t)=>{var e=S(o),e=v[e];const i=e&&e.loading,l=e&&"error"===e.status;return(0,_vue.h)("div",{key:t,class:["vxe-upload--image-item",{"is--preview":d,"is--loading":i,"is--error":l}]},[(0,_vue.h)("div",{class:"vxe-upload--image-item-box",style:a?null:g,title:(0,_ui.getI18n)("vxe.upload.viewItemTitle"),onClick(e){i||l||$(e,o,t)}},[i&&e?(0,_vue.h)("div",{class:"vxe-upload--image-item-loading"},[(0,_vue.h)("div",{class:"vxe-upload--image-item-loading-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_LOADING})]),n?(0,_vue.h)("div",{class:"vxe-upload--image-item-loading-text"},r?_xeUtils.default.toFormatString(r,{percent:e.percent}):(0,_ui.getI18n)("vxe.upload.uploadProgress",[e.percent])):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),i?(0,_vue.createCommentVNode)():l&&s?(0,_vue.h)("div",{class:"vxe-upload--image-item-error"},[(0,_vue.h)(_button.default,{icon:(0,_ui.getIcon)().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:(0,_ui.getI18n)("vxe.upload.reUpload"),onClick(){A(o)}})]):(0,_vue.h)("img",{class:"vxe-upload--image-item-img",src:R(o)}),(0,_vue.h)("div",{class:"vxe-upload--image-item-btn-wrapper",onClick(e){e.stopPropagation()}},[m?(0,_vue.h)("div",{class:"vxe-upload--file-item-corner"},(0,_vn.getSlotVNs)(m({option:o,isMoreView:a,readonly:c}))):(0,_vue.createCommentVNode)(),!u||c||p||i?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--image-item-remove-btn",onClick(e){e.stopPropagation(),X(e,o,t)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_IMAGE_REMOVE})])])])])})},ie=e=>{var{showUploadButton:o,buttonText:t,buttonIcon:i,showButtonText:l,showButtonIcon:a,autoHiddenButton:u}=C,n=x.value,r=g.value,d=c.value,s=_.value,v=f.default,p=f.hint;return n||!o||u&&d?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{key:"action",class:"vxe-upload--image-action"},[(0,_vue.h)("div",{class:"vxe-upload--image-action-btn",onClick:G},v?v({$upload:m}):[(0,_vue.h)("div",{class:"vxe-upload--image-action-box",style:e?null:s},[a?(0,_vue.h)("div",{class:"vxe-upload--image-action-icon"},[(0,_vue.h)("i",{class:i||(0,_ui.getIcon)().UPLOAD_IMAGE_ADD})]):(0,_vue.createCommentVNode)(),e||l?(0,_vue.h)("div",{class:"vxe-upload--image-action-content"},t?""+t:(0,_ui.getI18n)("vxe.upload.imgBtnText")):(0,_vue.createCommentVNode)(),e&&(r||p)?(0,_vue.h)("div",{class:"vxe-upload--image-action-hint"},p?(0,_vn.getSlotVNs)(p({$upload:m})):r):(0,_vue.createCommentVNode)()])])])};const i=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.modelValue?C.modelValue.length:0,()=>{i.value++}),(0,_vue.watch)(()=>C.modelValue,()=>{i.value++}),(0,_vue.watch)(i,()=>{t()}),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&C.multiple&&C.singleMode&&(0,_log.errLog)("vxe.error.errConflicts",["multiple","single-mode"])}),(0,_vue.onUnmounted)(()=>{M.isDrag=!1}),t(),m.renderVN=()=>{var e=C["showErrorStatus"],{isDrag:o,showMorePopup:t}=M,i=h.value,l=y.value,a=x.value,u=d.value;return(0,_vue.h)("div",{ref:n,class:["vxe-upload",{["size--"+i]:i,"is--readonly":a,"is--disabled":l,"show--error":e,"is--drag":o}],onDragover:Q,onDragleave:J,onDrop:Z},[(u?()=>{var e=M["fileList"],{maxCount:o,showMoreButton:t}=s.value;let i=e,l=0;return o&&e.length>o&&(l=e.length-o,i=e.slice(0,o)),(0,_vue.h)("div",{key:"image",class:"vxe-upload--image-wrapper"},[(0,_vue.h)("div",{class:"vxe-upload--image-list"},te(i,!1).concat([t&&l?(0,_vue.h)("div",{class:"vxe-upload--image-over-more"},[(0,_vue.h)(_button.default,{mode:"text",content:(0,_ui.getI18n)("vxe.upload.moreBtnText",[e.length]),status:"primary",onClick:ee})]):(0,_vue.createCommentVNode)(),ie(!1)]))])}:()=>{var e=C["moreConfig"],o=M["fileList"],{maxCount:t,showMoreButton:i,layout:l}=s.value,l="horizontal"===l;let a=o,u=0;return t&&o.length>t&&(u=o.length-t,a=o.slice(0,t)),(0,_vue.h)("div",{key:"all",class:"vxe-upload--file-wrapper"},[i&&e&&l?(0,_vue.createCommentVNode)():p(!0),a.length||i&&l?(0,_vue.h)("div",{class:["vxe-upload--file-list-wrapper",{"is--horizontal":l}]},[a.length?(0,_vue.h)("div",{class:"vxe-upload--file-list"},oe(a,!1)):(0,_vue.createCommentVNode)(),i&&u?(0,_vue.h)("div",{class:"vxe-upload--file-over-more"},[(0,_vue.h)(_button.default,{mode:"text",content:(0,_ui.getI18n)("vxe.upload.moreBtnText",[o.length]),status:"primary",onClick:ee})]):(0,_vue.createCommentVNode)(),i&&e&&l?p(!1):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()])})(),o&&!t?(0,_vue.h)("div",{class:"vxe-upload--drag-placeholder"},(0,_ui.getI18n)("vxe.upload.dragPlaceholder")):(0,_vue.createCommentVNode)()])},m},render(){return this.renderVN()}});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-pc-ui",
3
- "version": "4.1.19",
3
+ "version": "4.1.21",
4
4
  "description": "A vue based PC component library",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -25,7 +25,7 @@
25
25
  "style": "lib/style.css",
26
26
  "typings": "types/index.d.ts",
27
27
  "dependencies": {
28
- "@vxe-ui/core": "^4.0.7"
28
+ "@vxe-ui/core": "^4.0.9"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@typescript-eslint/eslint-plugin": "^6.21.0",
@@ -107,10 +107,10 @@ export default defineComponent({
107
107
  ])
108
108
  }
109
109
 
110
- $xeAnchorLink.renderVN = renderVN
111
-
112
110
  provide('$xeAnchorLink', $xeAnchorLink)
113
111
 
112
+ $xeAnchorLink.renderVN = renderVN
113
+
114
114
  return $xeAnchorLink
115
115
  },
116
116
  render () {
@@ -224,10 +224,10 @@ export default defineComponent({
224
224
  removeContainerElemScroll()
225
225
  })
226
226
 
227
- $xeAnchor.renderVN = renderVN
228
-
229
227
  provide('$xeAnchor', $xeAnchor)
230
228
 
229
+ $xeAnchor.renderVN = renderVN
230
+
231
231
  return $xeAnchor
232
232
  },
233
233
  render () {
@@ -79,10 +79,10 @@ export default defineComponent({
79
79
  }, defaultSlot ? defaultSlot({}) : renderItems())
80
80
  }
81
81
 
82
- $xeBreadcrumb.renderVN = renderVN
83
-
84
82
  provide('$xeBreadcrumb', $xeBreadcrumb)
85
83
 
84
+ $xeBreadcrumb.renderVN = renderVN
85
+
86
86
  return $xeBreadcrumb
87
87
  },
88
88
  render () {
@@ -85,6 +85,9 @@ export default defineComponent({
85
85
 
86
86
  provide('$xeButtonGroup', $xeButtonGroup)
87
87
 
88
- return renderVN
88
+ return $xeButtonGroup
89
+ },
90
+ render () {
91
+ return this.renderVN()
89
92
  }
90
93
  })
@@ -5,7 +5,7 @@ import { getAbsolutePos, getEventTargetNode } from '../../ui/src/dom'
5
5
  import { getFuncText, getLastZIndex, nextZIndex } from '../../ui/src/utils'
6
6
  import { warnLog } from '../../ui/src/log'
7
7
 
8
- import type { VxeButtonConstructor, VxeButtonPropTypes, VxeButtonEmits, ButtonReactData, ButtonMethods, ButtonPrivateRef, ButtonInternalData, VxeButtonGroupConstructor, VxeButtonGroupPrivateMethods, VxeTableConstructor, VxeTablePrivateMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods, ValueOf } from '../../../types'
8
+ import type { VxeButtonConstructor, VxeButtonPropTypes, VxeButtonEmits, ButtonReactData, ButtonMethods, ButtonPrivateRef, ButtonInternalData, VxeButtonGroupConstructor, VxeButtonGroupPrivateMethods, VxeTableConstructor, VxeDrawerConstructor, VxeDrawerMethods, VxeTablePrivateMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods, ValueOf } from '../../../types'
9
9
 
10
10
  export default defineComponent({
11
11
  name: 'VxeButton',
@@ -98,9 +98,10 @@ export default defineComponent({
98
98
  setup (props, context) {
99
99
  const { slots, emit } = context
100
100
 
101
- const $xeModal = inject<VxeModalConstructor & VxeModalMethods | null>('$xeModal', null)
102
- const $xeTable = inject<VxeTableConstructor & VxeTablePrivateMethods | null>('$xeTable', null)
103
- const $xeForm = inject<VxeFormConstructor & VxeFormPrivateMethods | null>('$xeForm', null)
101
+ const $xeModal = inject<(VxeModalConstructor & VxeModalMethods)| null>('$xeModal', null)
102
+ const $xeDrawer = inject<(VxeDrawerConstructor & VxeDrawerMethods) | null>('$xeDrawer', null)
103
+ const $xeTable = inject<(VxeTableConstructor & VxeTablePrivateMethods) | null>('$xeTable', null)
104
+ const $xeForm = inject<(VxeFormConstructor & VxeFormPrivateMethods)| null>('$xeForm', null)
104
105
  const $xeButtonGroup = inject<(VxeButtonGroupConstructor & VxeButtonGroupPrivateMethods) | null>('$xeButtonGroup', null)
105
106
 
106
107
  const xID = XEUtils.uniqueId()
@@ -149,7 +150,7 @@ export default defineComponent({
149
150
  if (XEUtils.isBoolean(globalTransfer)) {
150
151
  return globalTransfer
151
152
  }
152
- if ($xeTable || $xeModal || $xeForm) {
153
+ if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
153
154
  return true
154
155
  }
155
156
  }